public static void main(String[] args) {
// args 是啟動時一次性傳入的數組,長度固定
do {
switch(args[i]) { ... } // 死循環、越界、邏輯錯誤
i++;
} while(i != -1);
}
public static void main(String[] args) {
if (args.length < 1) { usage(); return; }
String cmd = args[0];
switch (cmd) {
case "max": doMax(); break;
case "insert": if (args.length>=2) doInsert(Integer.parseInt(args[1])); break;
// ...
}
}
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("> ");
String line = sc.nextLine();
String[] parts = line.split("\\s+");
// 解析 parts[0] 命令及參數...
if ("exit".equals(parts[0])) break;
}
`args` 只適合**啟動配置**,交互式菜單必須用 `Scanner`/`BufferedReader` 讀 `System.in`。參數解析建議用成熟庫。