![](/img/trans.png)
[英]How do you go back to the previous menu with do while and switch?
[英]How to do a switch menu in java with do while
再會!
這是我在java中的一個項目的切換菜單!
當我輸入一個不同的字母(它不在開關中的字母)時,我收到此錯誤消息,當我嘗試其中一個正確的字母時,我再次收到相同的錯誤消息:
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1478)
at teste.menu(teste.java:65)
at teste.main(teste.java:16)
這是我的代碼:
import java.util.Scanner;
public class teste{
public static void main(String[] args){
char ch;
do {
ch = menu();
switch (ch){
case 'a':
//String name ="resultado.csv";
//ReadFile(name);
break;
case 'b':
//WriteFile();
break;
case 'c':
System.out.println("nome");
break;
case 'd':
System.out.println("nome");
break;
case 'e':
System.out.println("nome");
break;
case 'f':
System.out.println("nome");
break;
case 'g':
System.out.println("nome");
break;
case 'h':
System.out.println("nome");
break;
default:
System.out.println("a-k!");
break;
}
}while (ch != 'k');
System.exit(0);
}
public static char menu(){
System.out.println("Chose: ");
System.out.println("a: Show");
System.out.println("b: Write");
System.out.println("c: All Numbers Are the Same");
System.out.println("d: Sum Between Two Integers");
System.out.println("e: Repeat the String");
System.out.println("f: It is Palindrome");
System.out.println("g: Display");
System.out.println("h: Display");
System.out.println("k: Quit");
System.out.println("Insira a opção: ");
Scanner input = new Scanner(System.in);
char ch = input.next().charAt(0);
input.close();
return ch;
}
}
我嘗試使用數字,但收到相同的錯誤消息
每次調用menu
時不要重新創建掃描儀。 在 main 開始時創建一次並使用它,例如:
public static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
// same code...until end of main...
input.close();
System.exit(0);
}
在menu
中:
public static char menu() {
// same prompts...
//REMOVE Scanner input = new Scanner(System.in);
char ch = input.next().charAt(0);
//REMOVE input.close();
return ch;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.