我已經完成了一個簡單的程序,該程序允許用戶輸入名稱,然後向他打招呼。僅使用字母和空格但不包含空格字符串的Java掃描程序
import java.util.Scanner;
public class nameinput {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("Enter a name: (only letters, at least 2 characters long)");
while (true) {
String name= sc.next();
if (name.length() < 2){
System.out.println("This name is too short!");
continue;
}
else if (!name.matches("[a-zA-Z]+")){
System.out.println("Letters only!");
continue;
}
else {
System.out.println("Hello, " + name);
break;
}
}
}
}
但是我有兩個問題,我解決不了:
- 當用戶輸入包含空格的名字,它只是變得空間之前有什麼。
- 當用戶只通過一系列空格或者沒有通過任何內容時,沒有任何反應,就像他沒有輸入任何內容。我會讓用戶收到一條正確的消息,通知他只有空格字符串和空字符串是不允許的。
我希望我對問題的描述很清楚,在此先感謝您的幫助!
'Scanner'是否有分隔符?默認情況下是什麼? – Savior
您需要使用nextLine()以獲取包含空格(超過1個單詞)的掃描器輸入// String name = sc.nextLine(); – laish138