在這裏的第一個問題,所以,如果它不是一個很好的問題,很抱歉。從整數和其他字符的輸入流中讀取整數
我正在一個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,但是對於這種情況看起來都不是很有用。
感謝您的任何輸入和您的時間。 :)
哇,這真的很容易。我想我應該更多地研究這個正則表達式。謝謝! :D –
@dev_bit沒問題:)很高興能幫到你。 – Pshemo