В каком месте зациклился код при поэлементном вводе массива через 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]);
}