[英]Java - Scanner doesn't read string with space (Solved)
我試圖允許只用字符 a-zA-Z 進行的輸入並且還有空間。 示例: “查克·諾里斯”。 下面的代碼發生的情況是掃描儀input.next()
不允許提到的示例輸入字符串。
我期待這個輸出: Success!
但這是實際輸出: Again:
try {
String input_nome = input.next(); // Source of the problem
if (input_nome.matches("[a-zA-Z ]+")) {
System.out.print("Success!");
break;
} else {
System.err.print("Again: ");
}
} catch (Exception e) {
e.printStackTrace();
}
問題的根源在於使用的掃描儀方法。
String input_nome = input.next(); // Incorrect scanner method
String input_nome = input.nextLine(); // Correct scanner method
String t = "查克諾里斯";
t.matches("[a-zA-Z]+")
實際上是否返回true。 檢查您的輸入是否確實是“Chuck Norris”,並確保該空格不是一些奇怪的字符。 此外,您可以使用 \\s 代替空格。 我也推薦 101regex.com
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.