gpt4 book ai didi

java - 尝试了解如何处理 InputMismatchException 并保持程序运行

转载 作者:行者123 更新时间:2023-12-01 20:07:22 25 4
gpt4 key购买 nike

我正在编写一个简单的游戏,要求用户输入一个整数。如果他们输入其他内容,我想告诉他们这是无效的,并让他们重试。我正在使用 Eclipse,似乎无论我尝试什么,当用户(我)输入无效条目时,我的程序都会停止。

我什至尝试在 catch 之后使用“finally”方法,因为每个人都说代码会运行,但它不会。我尝试过使用循环,但这也不起作用。有什么想法或理由吗?请记住,我是 Java 新手,我正在进行微软类(class)的第二个项目,所以有很多东西我不明白。

我假设我需要在捕获区域编写解决方案,但我不知道。

import java.util.InputMismatchException;
import java.util.Scanner;

public class Play {

public Play() {

Scanner input = new Scanner(System.in);

try {
System.out.println("Choose how many fingers you wish to play.");
input.nextInt();

if(input.nextInt() < 0 || input.nextInt() > 10) {
System.out.println("That is not a valid number. Please enter a number between 1 and 10.");
input.nextInt();
}else if(input.nextInt() > 0 && input.nextInt() < 11) {
System.out.println("Great, you chose "+input.nextInt()+" fingers.");
}
}catch(InputMismatchException notInt) {
System.out.println("That was not a number!");
}
}

}

最佳答案

  • 您没有将 input.nextInt() 分配给变量。
import java.util.InputMismatchException;
import java.util.Scanner;

class Play {
public Play() {
Scanner input = new Scanner(System.in);
try {
System.out.println("Choose how many fingers you wish to play.");
int n = input.nextInt();
if (n > 0 && n < 11) System.out.println("Great, you chose " + n + " fingers.");
else System.out.println("That is not a valid number. Please enter a number between 1 and 10.");
} catch (InputMismatchException notInt) {
System.out.println("That was not a number!");
}
}
}

关于java - 尝试了解如何处理 InputMismatchException 并保持程序运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58982293/

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