Выход из цикла Loop после того, как пользователь вводит значение в строку (Java) - PullRequest
0 голосов
/ 17 ноября 2018

Здравствуйте, StackOverflowers, я надеюсь, что все ваши дни идут хорошо.

Я относительно новичок в программировании на Java и оказался в затруднительном положении.

Я пытаюсь сделать следующее:

  1. Проверка ввода в Java - я хочу убедиться, что панель JOptionPane.showInput продолжает вновь появляться (используя цикл while) до тех пор, пока пользователь не введет значение, которое фиксируется в строке "this.accountName" и;
  2. После того, как пользователь ввел что-то в панель JOptionPane.showInput, я хочу выйти из цикла и перейти кдругие методы, которые у меня есть внутри моей ОО-программы.

К сожалению, мой цикл while ниже завершается после первого экземпляра и не продолжается в моем примере кода ниже:

public String getAccountName() {
    this.accountName = JOptionPane.showInputDialog(null, "Please enter a nick name for your new account (e.g. Savings Account)");
    if (this.accountName!= null) {
        while (this.accountName != null) {
            this.accountName = JOptionPane.showInputDialog(null, "Error! Please enter a valid name for your new account");
            if (this.accountName.contains("")){return this.accountName;
            }
        }
    }
        return this.accountName;
}

Как лучше всего это исправить??Я заранее ценю вашу помощь!

1 Ответ

0 голосов
/ 17 ноября 2018

Используйте метод StringUtils.isBlank (https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html) для проверки значения accountName:

this.accountName = JOptionPane.showInputDialog(null, "Please enter a nick name for your new account (e.g. Savings Account)");
while (StringUtils.isBlank(this.accountName)) {
    this.accountName = JOptionPane.showInputDialog(null, "Error! Please enter a valid name for your new account");
}
return this.accountName;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...