Пока l oop для проверки электронной почты в Java JFrame - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь использовать некоторое время 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? Я использую это для проверки пароля, и у меня тоже проблемы. Я открыт для любых предложений.

1 Ответ

2 голосов
/ 07 марта 2020

Как предложил Себастьян, решение состоит в том, чтобы использовать кнопку, избавиться от while l oop и просто использовать оператор if. Причина в том, что если пользователь щелкнет по нему, программа проверит проверку - и она проверяет проверку всякий раз, когда пользователь нажимает кнопку. Процесс заканчивается, когда пользователь вводит действительное электронное письмо и нажимает на кнопку в последний раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...