你好,StackOverflowers,我希望你的日子过得很好。
我对Java编程还比较陌生,发现自己有点麻烦。
我想做的是;
- Java中的输入验证-我想确保JOptionPane.showInput窗格继续重新出现(使用while循环(,直到用户输入了在"this.accountName"字符串中捕获的值
- 一旦用户在JOptionPane.showInput窗格中输入了一些内容,我就想退出循环,继续使用OO程序中的其他方法
不幸的是,下面的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;
}
解决这个问题的最佳方法是什么?我感谢你事先的帮助!
使用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;