断言不起作用
2022-09-01 00:53:10
我正在尝试编写一个断言来检查用户给出的大小是否为正值,如果不是,则将其设为正值,此语句位于类构造函数内部,该构造函数采用大小值,然后创建一个数组[size]。我已经写了下面的代码,我相信这是正确的。
public Grid(int size) {
try{
assert size > 0 ;
}
catch(AssertionError e){
size = Math.abs(size);
}
setLayout(new GridLayout(size, size));
grid = new JButton[size][size];
}
虽然我似乎从未评估过我的断言并继续程序,然后导致负数组大小错误(我试图避免)
我也试过了
assert size>0;
并且程序无法停止负值。
我最近在Mac上运行java时遇到了一些问题,所以我不知道我的代码是否正确,或者它是否只是那些奇怪的Mac怪癖之一!并且应该只使用
size=Math.abs(size);
谢谢山姆,