我正在嘗試使用以下內容讀取用戶輸入 - 在while會話中得到一個錯誤,即變量'n'-找不到簡單的變量n。do/while循環內有錯誤
public static void main(String[] args) {
do{
Scanner reader = new Scanner(System.in); // Reading from System.in
System.out.println("Enter your choice: ");
int n = reader.nextInt(); // Scans the next token of the input as an int.
switch(n){
case 1: System.out.println("load_flight1()");
break;
case 2: System.out.println("load_flight2()");
break;
case 3: System.out.println("load_flight3()");
break;
case 4: System.out.println("generate_report()");
break;
case 5: System.out.println("exit()");
break;
default: System.out.println("Invalid menu choice");
System.out.println("press any key:");
}
}while ((n!=1) && (n!=2) && (n!=3) && (n!=4) && (n!=5));
有人可以發現我要去哪裏嗎?
由於
你的'int n = reader.nextInt();'在範圍之外是不可見的。在循環之前引入局部變量'n'。 – DimaSan
n實際上超出了範圍...... –
與描述的問題並不真正相關,但不要在每次迭代中創建Scanner。在你的循環之前聲明和創建一個掃描器並在其中使用它。 – Pshemo