我想不通爲什麼這個循環不執行甚至一度:Scanner.hasNext(String s)已爲 「\ d \ \小號d」 失敗
String s = "1 2\n3 4";
Scanner scanner = new Scanner(s);
while(scanner.hasNext("\\d\\s\\d")) {
System.out.printf("%d %d\n", scanner.nextInt(), scanner.nextInt());
}
據我瞭解,「 \ d \ s \ d「表示數字,後面跟着空格,後面跟着另一個數字 - 確切地說,輸入是什麼樣的,但循環從不執行一次。
我的意圖是使用掃描儀與標準輸入,我想確保輸入有一個由空格分隔的兩位數對的序列,但上面的代碼示例被簡化了,因爲我認爲我在做錯了我使用正則表達式。
任何人都可以提供解釋嗎?提前致謝。
你期望的輸出? – anubhava 2015-04-05 16:30:57
我期望兩行分別包含兩個整數,所以第1行:「1 2」,第2行:「3 4」 – Caleb9 2015-04-05 16:31:44