【发布时间】:2014-03-28 09:32:04
【问题描述】:
这里是第一个问题,所以,如果不是很好,很抱歉。
我正在开发一个 java 程序,它将接受这样的输入
(1>2)(2>3)(3>4)(4>5)
(6>7)(7>8)(6>8)
然后将数字存储在一个数组中。现在,我只是想正确解析。所以我只是在单独的行上打印输出。这是我一直在尝试的:
Scanner input = new Scanner(System.in).useDelimiter("\\W");
for(int i = 0; (line = input.next()) != null; i++){
System.out.println(i + ": " + line);
}
这就是得到这个输出
0:1
1:2
2:
3:2
4:3
5:
6:3
7:4
8:
9:4
10:5
11:
12:
13:6
14:7
15:
16:7
17:8
18:
19:6
20:8
21:
看起来当两个分隔符彼此相邻时,例如')(',它会打印出空格。我不确定它为什么这样做,或者它是否可以修复。有没有办法同时使用两者')(' 的字符作为一个分隔符?在调用 input.next() 而不使用 input.next() 作为空格的继续时,有没有办法摆脱空格?或者有什么比 Scanner 更好的东西可以避免这个问题吗?我查看了 BufferedReader 和 InputStreamReader,但在这种情况下似乎都没有用。
感谢您的任何意见和时间。 :)
【问题讨论】:
标签: java regex string java.util.scanner delimiter