当用户输入字符串程序返回到循环的开始时,当整数程序继续
贝娄,你可以看到我有麻烦的代码部分。到目前为止,当用户输入“a”时,程序返回一个错误。我希望程序返回“错误输入再试一次!”并返回到开始od do statment。当用户输入字符串程序返回到循环的开始时,当整数程序继续
do{ System.out.println("Vnesi dožino besede, ki jo iščeš");
Scanner in = new Scanner(System.in);
dolzina = in.nextInt();
}while (dolzina<0);
回答:
如果我理解你,你可以在你尝试阅读之前检查Scanner.hasNextInt()
。而且,您应该声明Scanner
一次。类似的,
int dolzina = -1; Scanner in = new Scanner(System.in);
do {
System.out.println("Vnesi dožino besede, ki jo iščeš");
if (in.hasNextInt()) {
dolzina = in.nextInt();
} else if (in.hasNextLine()) {
System.out.printf("Wrong entry (%s) try again!%n",
in.nextLine());
} else {
System.out.println("No Entry!");
System.exit(1);
}
} while (dolzina < 0);
回答:
Scanner in = new Scanner(System.in); do{
System.out.println("Vnesi dožino besede, ki jo iščeš");
try {
dolzina = in.nextInt();
} catch (InputMismatchException e) {
dolzina = -1;
System.err.println("Wrong entry, try again");
}
} while (dolzina<0);
这将捕获该异常,当它需要int,并得到别的扫描器抛出。当发生这种情况时,它会在dolzina
中输入一个负数,在你的循环条件下,它将导致它重做循环。
扫描仪应在外部打开。
回答:
尝试检查int是否与in.hasNextInt()一起传递。
if (in.hasNextInt()) { dolzina = in.nextInt();
}
以上是 当用户输入字符串程序返回到循环的开始时,当整数程序继续 的全部内容, 来源链接: utcz.com/qa/257466.html