案例说明ChatGPT是否能胜任资深Java程式设计师-Part I:ChatGPT的程式码

ChatGPT横空出世之后,各行各业人心惶惶,害怕自己的职场地位是否会被AI所取代。即便是程式设计师也不例外。接下来,将以自己身为Java程式设计师的专业角度,来见识见识ChatGTP所回覆的Java程式码,能否胜任『资深Java程式设计师』所需具备的专业能力。


我们先询问ChatGPT针对以下这个问题会给出怎样的Java程式码。
问题如下:

我有一组资料: 1=满福堡餐、2=猪肉满福堡餐、3=猪肉满福堡加蛋餐、4=无敌猪肉满福堡加蛋餐、5=青蔬满福堡餐。当使用者输入1时,印出『您好,请问您点的是满福堡餐吗?』输入2时,印出『您好,请问您点的是猪肉满福堡餐吗?』输入3时,印出『您好,请问您点的是猪肉满福堡加蛋餐吗?』输入4时,印出『您好,请问您点的是无敌猪肉满福堡加蛋餐吗?』输入5时,印出『您好,请问您点的是青蔬满福堡餐吗?』

以下是聊天的过程:
http://img2.58codes.com/2024/20109107NahJI4IIdY.png
http://img2.58codes.com/2024/201091077x1Rr0jwJK.png
http://img2.58codes.com/2024/20109107yuH7ZA92P8.png
上面ChatGPT提供的程式码如下:

import java.util.Scanner;public class BurgerOrder {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        System.out.print("请输入您要点的餐点编号(1~5):");        int orderNum = scanner.nextInt();        switch(orderNum) {            case 1:                System.out.println("您好,请问您点的是满福堡餐吗?");                break;            case 2:                System.out.println("您好,请问您点的是猪肉满福堡餐吗?");                break;            case 3:                System.out.println("您好,请问您点的是猪肉满福堡加蛋餐吗?");                break;            case 4:                System.out.println("您好,请问您点的是无敌猪肉满福堡加蛋餐吗?");                break;            case 5:                System.out.println("您好,请问您点的是青蔬满福堡餐吗?");                break;            default:                System.out.println("您输入的餐点编号无效。");                break;        }        scanner.close();    }}

初略看一下class的命名是BurgerOrder,是符合题目且可读性高的命名。另外,ChatGPT选用了switch而非if-else陈述式来完成这个题目,表示对于程式码的语法选择也有一定的水準,并非初学者的级别。
即便如此,还是得实测看看ChatGPT给的程式代码能否正确执行达到我们的题目要求。
http://img2.58codes.com/2024/20109107eLL4vxst5q.png
http://img2.58codes.com/2024/20109107PmiRHuBw7r.png
执行结果是能满足需求的。http://img2.58codes.com/2024/emoticon34.gif


接下来,要看看程式设计是否具备可维护性、可扩展性。再加入一个『6=鬆饼餐』,看看ChatGPT会如何帮我们调整程式码吧。
以下是提出新需求的聊天过程:
http://img2.58codes.com/2024/20109107BNISewMRhJ.png
http://img2.58codes.com/2024/20109107cRKO2yUqBW.png
http://img2.58codes.com/2024/emoticon67.gif比较可惜的是,

// 提示是Hard code写死,如果是人为修改加入多笔资料容易key错!System.out.print("请输入您要点的餐点编号(1~6):");

另外,

// 直接在加一个case区段,如果是人为修改加入多笔资料容易出错,例如某区段少打一个break!case 6:    System.out.println("您好,请问您点的是鬆饼餐吗?");    break;

下一篇再提供我对于同样的问题所给出的程式解决方案吧!
http://img2.58codes.com/2024/emoticon29.gif


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章