【发布时间】:2013-12-25 00:06:21
【问题描述】:
这里可能是新手错误。我直接从书中复制了assert 代码,但没有抛出AssertionError。如果我输入一个低于 0 或高于 10 的值,则继续正常执行。
import java.util.Scanner;
public class AssertExample
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.print("enter a number between 0 and 10: ");
int number = scanner.nextInt();
assert (number >= 0 && number <= 10) : "bad number: " + number;
System.out.println("You entered " + number);
scanner.close();
}
}
enter a number between 0 and 10: -3
You entered -3
【问题讨论】:
-
不要使用
assert来验证用户输入,因为它们不能保证运行:stackoverflow.com/a/298973/20394