我正在為學校做一項作業,一切都在按預期進行,但我的選單并沒有按照我的要求作業。這是我做的一個測驗類,它與我的主類基本相同,但很多情況下都是空的,所以我可以試著找出它的問題所在。
import java.util.Scanner。
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in)。
訂單陣列[] = new Order[100] 。
boolean on = true。
do {
System.out.println("***選擇動作")
"
A) 增加一個訂單"/span>
"
B) 計算總成本 "/span>
"
C) 搜索一個訂單 "
"
D) 列出訂單 "/span>
"
E)退出")。)
System.out.println("你想執行什么操作?")。
String userInput = input.nextLine().toLowerCase() 。
switch(userInput) {
case "add an order":
繼續。
case "計算總成本"。
continue;
case "搜索一個訂單"。
System.out.println("請輸入一個產品名稱來搜索:")。
String search = input.next()。
boolean found = false。
for (int i = 0; i < 100; i ) {
if (array[i] != null) {
if (array[i].productName.eals(search)) {
System.out.println("發現產品!")。
break。
}
}
}
if (! found) {
System.out.println("沒有找到產品。")。
}
break;
case "list orders"/span>:
continue;
case "quit":
on = false;
break;
default:
System.out.println("未知動作")。
}
} while (on);
input.close()。
}
}
因此,當我運行該代碼時,我的結果是這樣的,它再次顯示選單兩次,第一次只是給出默認情況,然后第二次接受輸入。我試著將掃描器物件的創建和關閉移到do-loop中,但在進入第二個回圈后,它就以失敗告終了,因為掃描器找不到下一行。
***選擇動作
A) 添加一個訂單
B) 計算總成本
C) 搜索for一個訂單
D) 列出訂單
E) 退出
你想執行什么操作?
搜索for一個訂單
請輸入一個產品名稱進行搜索。
測驗搜索
沒有找到產品。
***選擇行動
A) 增加一個訂單
B) 計算總成本
C) 搜索for一個訂單
D) 列出訂單
E) 退出
你想執行什么操作?
未知動作
***選擇動作
A) 增加一個訂單
B) 計算總成本
C) 搜索for一個訂單
D) 列出訂單
E) 退出
你想執行什么動作?
uj5u.com熱心網友回復:
看一下String search = input.next();一行。
我認為它應該是String search = input.nextLine();。
從你的輸出Unknown action應該很明顯。所以,讀錯(空)行,它被解釋為Unknown action.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/321064.html
標籤:
