所以我猜这个问题的解决方案会非常简单,但我不知道我在寻找什么,所以我需要一些帮助。发生的情况是,当我运行程序并选择情况 1 时,它会打印“狗的名字”和“狗的比赛”,但没有给我填写狗的名字的机会。因此,当我选择案例 1 时,我一开始只填写狗的比赛、重量和年龄!这是我正在使用的代码...
do {
System.out.println("(1 - reg\n2 - tail\n3- delete\n4-exit\nEnter number: ");
// so this is where the switch stuff starts
int option=sc.nextInt();
switch (option) {
case 1: System.out.println("Dog's Name: ");
String na=sc.nextLine();
System.out.println("Dog Race: ");
String ra=sc.nextLine();
System.out.println("How heavy?");
double wey=sc.nextDouble();
System.out.println("How old?");
double ag=sc.nextDouble();
dog doggy= new dog(na, ra, wey, ag);
kennel.add(doggy);
break;
case 2: System.out.println("its a tail");
break;
case 3: System.out.println("you delete");
break;
case 4: System.out.println("QUITTING\n(Data was not saved srry.)");
play = false;
default: System.out.println("try again");
}
}while(play);
最佳答案
我相信您需要调用nextLine()
调用 nextInt()
后,因为扫描仪尚未前进到下一行。
关于java - Switch 语句使第一种情况跳过一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8408444/