我想不通为什么这个循环不执行甚至一度: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