Утверждение не работает

Я пытаюсь написать утверждение, чтобы проверить, является ли размер, задаваемый пользователем, положительным значением, если нет, то сделайте его положительным, этот оператор находится внутри конструктора класса, который принимает значение размера и затем создает массив [ размер]. Я написал приведенный ниже код, который считаю правильным.

    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];
}

Хотя я, кажется, никогда не оцениваю свое утверждение и продолжаю программу, затем вызывает ошибку NegativeArraySize (которую я пытаюсь избежать)

Я также пробовал просто

assert size>0;

И программа не останавливается при отрицательных значениях ..

У меня недавно было несколько проблем с запуском java на Mac, поэтому я не знаю, правильный ли мой код или это просто одна из тех странных причуд Mac !! и нужно просто использовать

size=Math.abs(size);

Спасибо, Сэм,

29
задан kleopatra 25 October 2011 в 08:34
поделиться