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;
下一篇再提供我對於同樣的問題所給出的程式解決方案吧!