Java 为什么我输入的东西不是整数时,我的扫描器会重复两次,然后所有其他时间都重复一次?
我真正希望我的程序每次迭代一次,但当我运行代码时,第一次尝试遵循约束时,它会要求我输入1到7之间的数字两次,在我进行一次尝试后,代码会按预期流动Java 为什么我输入的东西不是整数时,我的扫描器会重复两次,然后所有其他时间都重复一次?,java,Java,我真正希望我的程序每次迭代一次,但当我运行代码时,第一次尝试遵循约束时,它会要求我输入1到7之间的数字两次,在我进行一次尝试后,代码会按预期流动 //import libraries import java.util.Scanner; public class Milestone1 { public static void main(String[] args) { //define variables Scanner scnr = new Scanner(System.in
//import libraries
import java.util.Scanner;
public class Milestone1 {
public static void main(String[] args) {
//define variables
Scanner scnr = new Scanner(System.in);
int patternDes = 0;
boolean world[][] = new boolean[Config.WORLD_ROWS][Config.WORLD_COLUMNS];
//print statements
System.out.println("Welcome to Conway's Game Of Life");
System.out.println("--------------------------------");
System.out.println("1)Glider 2)Beacon 3)Beehive 4)R-pentomino");
System.out.println("5)Random 6)Custom or 7)Exit");
System.out.print("Choose a pattern:");
//Have the scanner choose a pattern
patternDes = scnr.nextInt();
//check constraints
while(!(patternDes <= 7 && patternDes >= 1))
{
System.out.println("Enter a number between 1 and 7: ");
if(!scnr.hasNextInt()){
scnr.nextLine();
continue;
}
else{
patternDes = scnr.nextInt();
if((patternDes <= 7 && patternDes >= 1)){
break;
}
else{
continue;
}
}
}
//write another while loop now
}
}
//导入库
导入java.util.Scanner;
公共级密耳石1{
公共静态void main(字符串[]args){
//定义变量
扫描仪scnr=新扫描仪(System.in);
int-patternDes=0;
布尔世界[][]=新的布尔值[Config.world_行][Config.world_列];
//打印报表
System.out.println(“欢迎来到康威的生活游戏”);
System.out.println(“-------------------------------------”);
系统输出打印(“1)滑翔机2)信标3)蜂巢4)R-pentomino);
系统输出打印(“5)随机6)自定义或7)退出);
System.out.print(“选择图案:”);
//让扫描仪选择一种模式
patternDes=scnr.nextInt();
//检查约束
而(!(patternDes=1))
{
System.out.println(“输入一个介于1和7之间的数字:”);
如果(!scnr.hasnetint()){
序列号nextLine();
继续;
}
否则{
patternDes=scnr.nextInt();
如果((patternDes=1)){
打破
}
否则{
继续;
}
}
}
//现在编写另一个while循环
}
}
这在许多其他代码中也发生过,我花了很长时间来修复特定的方法。这就是您想要的吗
Scanner scnr = new Scanner(System.in);
int patternDes;
do {
System.out.println("Enter a number between 1 and 7: ");
patternDes = scnr.nextInt();
}while (patternDes <= 7 && patternDes >= 1);
Scanner scnr=新扫描仪(System.in);
内部模式;
做{
System.out.println(“输入一个介于1和7之间的数字:”);
patternDes=scnr.nextInt();
}while(patternDes=1);
您可以提供更多信息或粘贴完整的代码吗。