gpt4 book ai didi

Java : Nesting an if/else statement inside a while loop

转载 作者:行者123 更新时间:2023-11-30 10:56:50 25 4
gpt4 key购买 nike

<分区>

这是我在 StackOverflow 中的第一个问题,所以我希望您能原谅我在设置这篇文章时可能犯的许多错误....我的问题如下:这段代码应该生成一个随机数,将其显示给用户(为了帮助我猜测它而无需进行太多尝试......这应该只是一个练习),要求用户猜测一个数字在 0 到 50 之间,检查输入是否为整数,如果用户猜对了数字,则打印“Yes, the number is..”。但是,如果用户输入一个字母或任何不是数字的数字,if/else 循环就会变得疯狂,程序开始打印“选择 0 到 50 之间的数字:请插入 0 到 50 之间的数字,而不是字母”停不下来……任何人都可以帮助我吗?

package methods;

import java.util.Scanner;

public class Methods {

static int randomNumber;
static Scanner userInput = new Scanner(System.in);

public static void main(String[] args) {

System.out.println(getRandomNum());

int guessResult = 1;
int randomGuess = 0;

while (guessResult != -1) {
System.out.print("Choose a number between 0 and 50: ");

if (userInput.hasNextInt()) {
randomGuess = userInput.nextInt();
guessResult = checkGuess(randomGuess);
} else {

System.out.println("Please insert a number, not a letter");
}

}

System.out.println("Yes, the number is " + randomGuess);
}

public static int getRandomNum() {

randomNumber = (int) (Math.random() * 51);
return randomNumber;

}

public static int checkGuess(int guess) {

if (guess == randomNumber) {

return -1;
} else {

return guess;

}
}
}

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