ChatGPT
横空出世之后,各行各业人心惶惶,害怕自己的职场地位是否会被AI
所取代。即便是程式设计师也不例外。接下来,将以自己身为Java程式设计师的专业角度,来见识见识ChatGTP
所回覆的Java程式码,能否胜任『资深Java程式设计师』所需具备的专业能力。
我们先询问ChatGPT
针对以下这个问题会给出怎样的Java程式码。
问题如下:
我有一组资料: 1=满福堡餐、2=猪肉满福堡餐、3=猪肉满福堡加蛋餐、4=无敌猪肉满福堡加蛋餐、5=青蔬满福堡餐。当使用者输入1时,印出『您好,请问您点的是满福堡餐吗?』输入2时,印出『您好,请问您点的是猪肉满福堡餐吗?』输入3时,印出『您好,请问您点的是猪肉满福堡加蛋餐吗?』输入4时,印出『您好,请问您点的是无敌猪肉满福堡加蛋餐吗?』输入5时,印出『您好,请问您点的是青蔬满福堡餐吗?』
以下是聊天的过程:
上面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
给的程式代码能否正确执行达到我们的题目要求。
执行结果是能满足需求的。
接下来,要看看程式设计是否具备可维护性、可扩展性。再加入一个『6=鬆饼餐』,看看ChatGPT
会如何帮我们调整程式码吧。
以下是提出新需求的聊天过程:比较可惜的是,
// 提示是Hard code写死,如果是人为修改加入多笔资料容易key错!System.out.print("请输入您要点的餐点编号(1~6):");
另外,
// 直接在加一个case区段,如果是人为修改加入多笔资料容易出错,例如某区段少打一个break!case 6: System.out.println("您好,请问您点的是鬆饼餐吗?"); break;
下一篇再提供我对于同样的问题所给出的程式解决方案吧!