Java 很容易判断您是否输入了诸如 .hasNextInt()
之类的数字,但是 String
呢?
do {
System.out.println("Please enter the students name: ");
String name = s.nextLine();
if (name.equalsIgnoreCase("Done")) {
finished = true;
} else {
System.out.println("Please input the students number");
int studentNo = s.nextInt();
System.out.println("Please enter that students subject: ");
String subject = s.next();
System.out.println("Pleae enter that students level- ");
int level = s.nextInt();
StudentRecords newStudent = new StudentRecords(name, studentNo, subject, level);
studentRecordList.add(newStudent);
}
} while (!finished);
我如何让它循环以确保用户输入 String
作为学生姓名,而不是 int
等。
谢谢。
最佳答案
使用正则表达式尝试以下循环:
String name="";
while(!name.matches("[a-zA-Z \'\-ÄäÖöÜüßÉéæø]+")){
System.out.println("Please enter the student name: ");
name = s.nextLine();
}
这将要求用户输入,直到给出有效的名称。
关于java - 如何判断用户是否输入了字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27272542/