gpt4 book ai didi

Java Do While 语句在 Try Catch 语句之后无限循环

转载 作者:行者123 更新时间:2023-11-29 03:04:44 24 4
gpt4 key购买 nike

<分区>

我目前正在 Eclipse 中编写一些 Java 代码,并尝试在 do-while 语句中使用 try-catch 语句。我目前的代码如下:

import java.util.Scanner;
import java.util.InputMismatchException;
import java.util.Random;
public class GG_HighLowInvalid{

public static void main(String[] args){

Scanner cg = new Scanner(System.in);

//Assign and define variables
int guess, rand;
guess = 0;
rand = 10;

//Create loop
do
try{
guess = 0;
//Ask for a guess
System.out.print("Enter your guess: ");

//Record the guess
guess = cg.nextInt();
}
catch(InputMismatchException exception){

System.out.println("Your guess must be an integer.");

}
while (guess != rand);


}
}

当我输入任何数字时,代码工作正常,会循环请求另一个输入,当输入 10 时,代码会按预期停止(因为 guess 等于 rand)。但是,如果我输入任何非整数的值(例如“No”),则会出现无限循环,输出如下:

“你的猜测必须是整数。”

“输入您的猜测:您的猜测必须是一个整数。”

“输入您的猜测:您的猜测必须是一个整数。”

“输入您的猜测:您的猜测必须是一个整数。”

一直重复直到程序被外部终止。

既然 while 语句是 (guess != rand),为什么非整数会导致这个无限循环? try语句下的手动输入不应该再调用一次吗?任何有助于理解这一点的帮助将不胜感激。另外,我是 Java 的新手,如果遇到简单的问题,请提前致歉。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com