Я пытаюсь использовать некоторое время l oop для проверки электронной почты в JFrame (в письме должны быть "@" и "com"). Пока у меня есть:
while(!emailInput.getText().matches(".*[@com].*")) {
if (emailInput.getText().matches(".*[@com].*")) {
break;
} //from if
}
if((!emailInput.getText().matches(".*[@com].*"))) {
JOptionPane.showMessageDialog(null, "Your email does not seem to be valid. It should be in the form of myemail@myemail.com. Please try again!");
}
Конечно, время выполнения будет бесконечным - после того, как я проверил программу, введя случайный адрес электронной почты (скажем, «test»), условие всегда будет ложным , Я не смею показывать диалог (говоря, что электронная почта кажется неправильной) в то время как l oop, потому что он также будет показывать сообщение бесконечное количество раз.
Но это немного нелогично - так как я хочу, чтобы пользователь продолжал вводить электронную почту, пока он не получит ее правильно (вмешайтесь, пока l oop).
Я пытался использовать только оператор if
, но, похоже, мой код if
работает только один раз - поэтому я рассчитываю, пока l oop. Однако, есть ли способ исправить это, даже не используя while l oop? Я использую это для проверки пароля, и у меня тоже проблемы. Я открыт для любых предложений.