问各位一个关于java断言的问题
这个程序(保存为CalorieCounter.java文件)
class A
{
boolean fun(int i)
{
if(i>0)
{
try
{
assert i<0:"i<0";
System.out.println("111111111111111111111");
}
catch (AssertionError nfe)
{
System.out.println("2222222222222 "+nfe.getMessage());
}
return true;
}
else
{
try
{
assert i>0:"i>0";
System.out.println("3333333333333333333333");
}
catch (AssertionError nfe)
{
System.out.println("4444444444444 "+nfe.getMessage());
}
return false;
}
}
}
public class CalorieCounter
{
public static void main(String[] arguments)
{
A ca=new A();
try
{
assert ca.fun(10) : "7th fun(10) <0";
System.out.println("55555555555555555555");
}
catch (AssertionError nfe)
{
System.out.println(" assert fun(10) <0 6666666666666666666 "+nfe.getMessage());
}
try
{
assert ca.fun(-10);
System.out.println("7777777777777777777777");
}
catch (AssertionError nfe)
{
System.out.println(" assert fun(-10) <0 8888888888888888888 "+nfe.getMessage());
}
}
}
运行的时候这样java -ea:A CalorieCounter
以此来触发A类中的断言
但是运行结果是
55555555555555555555
7777777777777777777777
为什么会导致A类中的fun函数无法调用???
请教各位