【发布时间】:2013-09-19 05:40:55
【问题描述】:
我知道如何要求用户输入正整数,但我不知道如何处理代码以避免输入错误,例如小数或字符串输入。
int seedValue;
double angle, gunpowder;
System.out.println("Please enter a positive integer seed value: ");
seedValue = input.nextInt();
while (seedValue <= 0) {
System.out.println("Please enter a positive integer seed value: ");
seedValue = input.nextInt();
}
System.out.println("That target is " +
threeDec.format(gen.nextDouble() * 1000) + "m away.");
【问题讨论】:
-
附带说明,您不需要第一个输入部分
println(...和seedValue = ...。循环里面的那个就够了。 -
@Tharwen:只要将
seedValue初始化为负数,或者使用do...while循环代替。否则,要么 Java 会抱怨你使用了未初始化的值,要么循环永远不会运行。 -
Java 不将整数初始化为 0 吗?
-
@Tharwen:对于类和实例变量,是的。但是本地人,不——Java 不会初始化它们(JLS7,§4.12.3/7),并且编译器不会让你阅读它们,直到它看到你确实为它们分配了一个值(§16)。