我在java中使用scanner来获取用户的姓名、姓氏、email和tel等条目。姓名和姓氏是必需的,但email和tel不是必需的,用户只需按回车键就可以将其保留为空。
我要做的是添加一个方法,该方法将验证条目是否为空或长度是否为0,如果是这样,当用户点击enter时,扫描器将接受空字符串作为有效值。
这是我用来验证每个条目长度的方法,如果长度小于或大于最小值或最大值,则显示错误消息。
public static String validateString (String msgSoll, String msgErr,
int lngMin, int lngMax) {
String myString = null;
if (lngMin >= 0 && lngMax >= lngMin) {
do {
System.out.print(msgSoll);
myString = myScanner.nextLine();
if (myString.length() < lngMin || myString.length() > lngMax) {
System.out.println(msgErr);
}
} while (myString.length() < lngMin || myString.length() > lngMax);
}
return myString;
}
如果有人能帮我用那种方法,我将不胜感激。
谢谢
1条答案
按热度按时间yftpprvb1#
你可以用
String#isBlank
(可从java-11获得)来测试输入。示例运行:
注意:如果java版本低于
11
,您可以使用if (input.isEmpty() || input.trim().length() == 0)
作为条件。