当用户输入字符串程序返回到循环的开始时,当整数程序继续

贝娄,你可以看到我有麻烦的代码部分。到目前为止,当用户输入“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

回到顶部