【发布时间】:2014-11-06 06:26:46
【问题描述】:
我正在为我的班级做作业。如果输入了不正确的整数,我已经编写了一种方法来引发错误,并且我试图在输入字符串而不是 int 时给出错误消息,但我不确定如何。我不允许使用 parsInt 或内置字符串方法。如果有任何帮助,我将不胜感激。
int playerNum = stdin.nextInt();
while (invalidInteger(playerNum) == -1 || invalidInteger(playerNum) == -2 || invalidInteger(playerNum) == -3)
{
if(invalidInteger(playerNum) == -1)
{
System.out.println("Invalid guess. Must be a positive integer.");
System.out.println("Type your guess, must be a 4-digit number consisting of distinct digits.");
count++;
}
if(invalidInteger(playerNum) == -2)
{
System.out.println("Invalid guess. Must be a four digit integer.");
System.out.println("Type your guess, must be a four digit number consisting of distinct digits.");
count++;
}
if(invalidInteger(playerNum) == -3)
{
System.out.println("Invalid guess. Must have distinct digits.");
System.out.println("Type your guess, must be a four digit number consisting of distinct digits.");
count++;
}
playerNum = stdin.nextInt();
}
添加了这个 sn-p 来捕获异常。感谢阿尔马斯谢赫。
try {
int playerNum = scanner.nextInt();
//futher code
} catch (InputMismatchException nfe) {
System.out.println("You have entered a non numeric field value");
}
【问题讨论】:
-
如果你使用 nextInt 你不能得到
String。 -
代码 sn-ps are not for posting sample code blocks。请改用 代码示例 { } 按钮。
标签: java string exception-handling int java.util.scanner