在java中断言错误
Posted
技术标签:
【中文标题】在java中断言错误【英文标题】:Assert error in java 【发布时间】: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
【问题讨论】:
可能重复how to enable java keyword assert in Eclipse in program wise? 不要使用assert
来验证用户输入,因为它们不能保证运行:***.com/a/298973/20394
【参考方案1】:
AssertionError 没有被抛出。
在运行应用程序时将-ea
(启用断言)添加到 Java 命令参数中。
【讨论】:
【参考方案2】:您必须在启用断言的情况下运行程序。
java -ea[:<packagename>...|:<classname>]
【讨论】:
以上是关于在java中断言错误的主要内容,如果未能解决你的问题,请参考以下文章