gpt4 book ai didi

java - 无效类型文本继续打印

转载 作者:行者123 更新时间:2023-11-30 04:19:06 26 4
gpt4 key购买 nike

我正在用java制作一个猜数字游戏。我希望应用程序在用户键入字符串而不是整数时打印一行。这就是我的代码的样子:

import java.util.Scanner;
import java.util.Random;
public class guessing_game {

static Scanner input = new Scanner(System.in);
static Random generator = new Random();
public static void main(String[] args) {
int number;
number = generator.nextInt(20);
System.out.println("Guess the number!");
game(number);
}
public static void game(int number) {
int inputStorage = 0;
boolean b = true;
while (b) {
if (input.hasNextInt()) {
inputStorage = input.nextInt();
if (inputStorage == number) {
System.out.println("You've won!");
b = false;
}
else {
System.out.println("Wrong number! Try again.");
}
}
else {
System.out.println("Only numbers! Try again.");
}
}
}
}

问题在于,当用户键入字符串(例如字母)时,应用程序会显示:仅数字!再试一次。应用程序不会停止一遍又一遍地打印这一行。如何阻止这种情况?

最佳答案

如果您插入的内容不是数字,则 (input.hasNextInt()) 将返回 false,因此您不会进入该 if 语句并进入最低的 else 语句。

我建议您改为读取下一个字符串,如果该字符串无法转换为 int,则您可以处理这种情况

关于java - 无效类型文本继续打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17566250/

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