gpt4 book ai didi

java - 将用户输入与整数进行比较

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:49:30 24 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;
inputStorage = input.nextInt();
if (inputStorage == number) {
System.out.println("You've guessed the right number!");
}
else if (inputStorage != number) {
System.out.println("Wrong number, try again!");
game(number);
}
}
}

现在我有一个问题。我和妹妹玩了这个“游戏”。我姐姐正在数字键盘上打字。她在按 enter 之前不小心按下了 + 按钮,我得到了一些错误。我的问题是:我怎样才能让我的应用程序打印一行,说明您只能输入数字,然后再次重新启动游戏 stub ?

最佳答案

一种方法是将 input.nextInt() 包装在 try catch 语句中并捕获 input.nextInt() 抛出的异常,InputMismatchException。 try catch 语句的一个很好的教程是 here如果您不确定我在说什么。

try {
inputStorage = input.nextInt();
} catch (InputMismatchException e){
System.out.println("invalid type");
}

另一种方法是:

if(input.hasNextInt()){
inputStorage = input.nextInt();
}else{
System.out.println("invalid type");
}

如果数字猜对了,继续游戏尝试使用带中断的 while 循环也会出错:

int inputStorage;
boolean notGuessed = true;
while(notGuessed)
{
if(input.hasNextInt()){
inputStorage = input.nextInt();
} else{
System.out.println("invalid type");
}
if (inputStorage == number) {
System.out.println("You've guessed the right number!");
notGuessed = false;
}
else if (inputStorage != number) {
System.out.println("Wrong number, try again!");

}
}

关于java - 将用户输入与整数进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17557956/

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