В каком месте зациклился код при поэлементном вводе массива через JOptionPane.showInputDialog?

Помогите пожалуйста новичку! Пытаюсь через введенный пользователем массив задать координаты прямоугольника. Пытался убирать и цикл while и исключения, но всё равно в результате выполнения бесконечно выводится окно JOptionPane.showInputDialog(null, "Введите положительное число").

public void paint (Graphics g) {
        int  Axis[] = new int[4];
        String[] s = new String[4];
        int b;
        for (int i = 0; i < Axis.length; i++) {
            b = 0;
            boolean next = false;
            while (next == false) {
 s[i] = JOptionPane.showInputDialog(null, "Введите координаты прямоугольника");
                try (Scanner s1 = new Scanner(s[i])) {
                    if (s.equals("")) throw new NullException();
                    if (s1.hasNextInt() == false) throw new NoNumberException();
                    if (Integer.parseInt(s[i]) <= 0) throw new Exception();
                    next = true;
                    JOptionPane.showMessageDialog(null, "Спасибо");
                } catch (NullException ex) {
                    JOptionPane.showMessageDialog(null, ex.toString());
                } catch (NoNumberException ex) {
                    JOptionPane.showMessageDialog(null, ex.toString());
                } catch (Exception e) {
                    JOptionPane.showMessageDialog(null, "Вы ввели отрицательное число");
                }
                b = Integer.parseInt(s[i]);
            }
            Axis[i] = b;
        }
        super.paint(g);
        Graphics2D g2 = (Graphics2D) g;
        g2.drawRect(Axis[0], Axis[1], Axis[2], Axis[3]);
    }

Ответы (0 шт):