У меня есть огромная проблема, над которой я работаю и на всю жизнь, не могу понять это правильно. Из того, что я собрал на данный момент, я не могу выйти из цикла for, когда я использую JOptionPanes, потому что по какой-то причине он никогда не достигнет его, даже если код находится под ним.Как я могу вырваться из цикла for при использовании JOptionPanes?
Цель моего кода - перебирать файл .CSV, и пользователь вводит серию входов, в первую очередь, я проверяю дубликаты, и если будет найден дубликат, то я перейду к отображению JOptionPane.showMessageDialog и разрывайте цикл for после отображения сообщения.
Однако мой диалог сообщений продолжает зацикливаться и больше не будет двигаться, поэтому я застрял, как то, что я делаю неправильно.
Вот мой код:
JOptionPane.showMessageDialog(null, myPanel, "Edit Fruit", JOptionPane.INFORMATION_MESSAGE);
for (row = 0; row < myEntries.size(); row++)
{
for (column = 0; column < myEntries.get(row).length; column++)
{
//If serial exists
if (myEntries.get(row)[column].trim().equals(newSerial.getText()))
{
//break loop
JOptionPane.showMessageDialog(null, "Serial already exists!");
break;
//If the serial does not exist, write this new line to the end of the file
}else if (!(myEntries.get(row)[column].trim().equals(newSerial.getText())))
{
System.out.println(row);
myEntries.add(new String[] {newSerial.getText(), dateFormat.format(newDate), newLocation.getText(),
"",newAllocation, newCondition, newType.getText(), newComments.getText()});
}
}
Если мой документ содержит «6», и я ищу, что этот код будет перебирать и если заявления по какой-то причине, а просто не сломается.
Что должно произойти, цикл my будет проходить через мой текстовый файл до тех пор, пока он не найдет точное совпадение с вводом пользователей, и если это так, перерыв. Если дубликат не найден, добавьте новую строку кода в конец файла.
Это просто не работает, и я не уверен, куда идти отсюда, поэтому я надеюсь, что кто-то здесь может помочь.
Если вам нужна дополнительная информация, пожалуйста, сообщите мне, чтобы я мог предоставить и устранить эту проблему.
спасибо.
Обратите внимание, что вам нужна только метка на внешнем контуре, поскольку внутренний не используется. Кроме того, наиболее распространенным соглашением для этой конструкции является маркировка внешнего цикла «OUTER», а затем разрыв OUTER. – mtj