我正在尝试创建一个循环,直到用户输入正确的信息(没有空格或空白)为止。这是我到目前为止所拥有的,但它只重复一次。我希望它重复直到用户填写正确的名称,例如 Oskar/OSKAR/oskar
System.out.print("Name: ");
String name = scanner.nextLine();
name = name == null ? "" : name.trim();
while(name.isEmpty()) {
System.out.println("Wrong data");
System.out.print("Name: ");
String name1 = scanner.nextLine();
name = name1;
}
Run Code Online (Sandbox Code Playgroud)
您需要使用do/while循环,这样您就不会两次编写相同的代码:
Scanner scanner = new Scanner(System.in);
String name = null;
do { //use do while loop for this
if (name != null)
System.out.println("Invalid Name \"" + name + "\" Try again");
System.out.print("Enter Your Name: ");
name = scanner.nextLine();
//keep looping until name is only letters
} while (!name.matches("[A-Za-z]+"));
System.out.println("Welcome " + name);
Run Code Online (Sandbox Code Playgroud)
输出:
输入你的名字:
无效的名字“”再试一次
输入你的名字:a1
无效的名字“a1”再试一次
输入你的名字:1
无效的名字“1”再试一次
输入你的名字:奥斯卡
欢迎奥斯卡
| 归档时间: |
|
| 查看次数: |
6985 次 |
| 最近记录: |