Java 用户输入和扫描仪有问题
快速概述: 我正在做一个基本的程序,询问用户他们希望他们的“梦想汽车”有多少门Java 用户输入和扫描仪有问题,java,Java,快速概述: 我正在做一个基本的程序,询问用户他们希望他们的“梦想汽车”有多少门 publicstaticvoidmain(字符串[]args){ CarSim carSimUser1=新的CarSim(); System.out.println(“您好,欢迎来到Car Matcher!”); Scanner scanName=new Scanner(System.in);//用户输入名称 System.out.println(“你叫什么名字?”); 字符串userName=scanName.ne
publicstaticvoidmain(字符串[]args){
CarSim carSimUser1=新的CarSim();
System.out.println(“您好,欢迎来到Car Matcher!”);
Scanner scanName=new Scanner(System.in);//用户输入名称
System.out.println(“你叫什么名字?”);
字符串userName=scanName.nextLine();
System.out.println(“Hello”+用户名);
System.out.println(“那么你是在找新车?”;
System.out.println(“您想要四门轿车吗”);
System.out.println(“或双门轿跑车?”);
System.out.println(“仅输入数字!”);
Scanner scanDoor=新扫描仪(System.in);//用户输入门的数量
int numbOfDoor=scanDoor.nextInt();
虽然(numbOfDoor这是一种可能性。请注意,numbOfDoor设置为0,测试将检查它是否为可接受的值之一,以及nextInt是否在循环中。不必使用break语句
int numbOfDoor = 0;
while(numbOfDoor != 2 && numbOfDoor != 4){
numbOfDoor = scanDoor.nextInt();
if(numbOfDoor == 4){
System.out.println("Okay, so you want " + numbOfDoor);
} else if(numbOfDoor == 2){
System.out.println("Okay, so you want " + numbOfDoor);
} else{
System.out.println("Select either 2 or 4 doors!");
}
}
您也可以使用
int numbOfDoor = 0;
while( true ){
numbOfDoor = scanDoor.nextInt();
if(numbOfDoor == 4){
System.out.println("Okay, so you want " + numbOfDoor);
break;
}
// More if + println + break
}
这里您需要中断语句。这个问题的可能解决方案如下。这不是最优雅的解决方案,但它几乎是从代码中逐字逐句的解决方案。从这个示例中学习的一个好技巧是使用while循环输入,这样您就可以提高代码的健壮性
int numbOfDoor = 0;
while(numbOfDoor != 2 && numbOfDoor != 4){
numbOfDoor = scanDoor.nextInt();
if(numbOfDoor == 4){
System.out.println("Okay, so you want " + numbOfDoor);
} else if(numbOfDoor == 2){
System.out.println("Okay, so you want " + numbOfDoor);
} else{
System.out.println("Select either 2 or 4 doors!");
}
}
int numbOfDoor = scanDoor.nextInt();
while (numbOfDoor != 2 || numbOfDoor != 4)
{
System.out.print("Invalid choice, try again: ");
numbOfDoor = scanDoor.nextInt();
if (numbOfDoor == 2 || numbOfDoor == 4)
break;
}
if(numbOfDoor == 4)
{
System.out.println("Okay, so you want " + numbOfDoor);
}
else if(numbOfDoor == 2)
{
System.out.println("Okay, so you want " + numbOfDoor);
}
else
{
System.out.println("Select either 2 or 4 doors!");
}
scanDoor.close()