我练习开关盒&扫描仪输入我的期末考试。但是,我不知道为什么跳过案例2中的第一个扫描仪输入。这是我的代码:
Scanner scanner = new Scanner(System.in);
String list=" 1- A \n 2- B \n 3- quit \n Enter your choice";
System.out.println(list);
int choice= scanner.nextInt();
while (choice!=3){
switch(choice){
case 1:
System.out.println(" Option A ");
System.out.println(list);
choice = scanner.nextInt();
break;
case 2:
System.out.print (" Enter your name ");
String name=scanner.nextLine();
System.out.println(name);
System.out.println(list);
choice = scanner.nextInt();
break;
default:
System.out.println(" Invalid choice" );
System.out.println(list);
choice = scanner.nextInt();
break;
}
}
输入" 2"时的输出:
1- A
2- B
3-退出
输入您的选择
2
输入您的姓名
1- A
2- B
3-退出
输入您的选择
答案 0 :(得分:1)
nextInt()
不会占用整行,因此您必须跳过该行。因此,int choice= scanner.nextInt();
之后只需添加scanner.nextLine();
即可。