-1
Sup,everyone。我在Java中遇到了開關/外殼菜單的問題。Java中的開關/殼體控制檯菜單
class ConsoleMenu{
ConsoleMenu(){
}
void ShowMenu(){
System.out.println(1);
System.out.println(2);
System.out.println(3);
}
}
public class Main {
public static void main(String[] args) throws java.io.IOException {
ConsoleMenu cs = new ConsoleMenu();
char ch;
do {
cs.ShowMenu();
ch = (char) System.in.read();
switch (ch) {
case '1':{
System.out.println("228");
break;}
case '2':{
System.out.println("556");
break;}
}
} while (ch != '0');
}
}
當我做出的選擇,它類似的東西:
1
2
1
228
1
2
1
2
2
556
1
2
1
2
,所以我不能,爲什麼已瞭解Java的完成情況後,顯示我的菜單兩次。有什麼建議麼?
您顯示的代碼不是您正在運行的代碼 - 按照書面,您的ShowMenu方法將打印3行。但是你的問題是,當你輸入一個值時,你不會照顧你得到的換行符。您輸入1後跟回車。所以通過循環第二次讀取第一次輸入結束時的換行符。 – FredK