我正在为自己编写一个小程序,但遇到了麻烦。
我希望能够在控制台中键入数字,并提取变量的数字。
直到这一点我才明白。
int aNumber = Integer.parseInt(br.readLine());
当我在控制台中输入了不是数字的内容时,我想得到一个错误。
像这样但可以正常工作的东西:
void Test() {
while (true) {
try {
aNumber = Integer.parseInt(br.readLine());
} catch (IOException e) {
e.printStackTrace();
}
if (aNumber >= 1) {
System.out.println("Hurray you enterd a number! It is " + aNumber + ".");
return;
} else {
System.out.println("Error: Something went wrong. Please try again.\n");
}
}
}
如果输入数字,则可以正常使用。但是我希望能够输入文本并遇到错误,然后重试。
如果您在控制台中输入示例:
1个
回答:
您输入了一个数字!是1.
=====
2564
回答:
您输入了一个数字!是2564。
=====
eaf123
回答:
错误:出了点问题。请再试一遍。
=====
谢谢大家的帮助。
拉尔斯·梅森
最佳答案
这将起作用。希望您了解解决方案。如果解析失败,Integer.parseInt()
会抛出NumberFormatException
。
void test() {
while (true) {
int aNumber;
try {
aNumber = Integer.parseInt(br.readLine());
System.out.println("Hurray you enterd a number! It is " + aNumber + ".");
return;
} catch (NumberFormatException | IOException e) {
System.out.println("Error: Something went wrong. Please try again.\n");
}
}
}