2010-01-19 43 views
1

我有在它下面的文本文件:乾淨的方式從文本文件導入數據?

名1:0 | 0 | 0 | 0 | 0 |
name2:0 | 0 | 0 | 0 | 0 |
...等

我正在將名稱導入到一個字符串數組。

這很好,但我想不出一種乾淨的方式將數字與數組項相關聯。數字由「管道」'|'分隔性格

理想我想調用,它返回一個整數數組的方法給出的名稱即是這樣public int[] getScores(String name)

回答

3

使用時string split

首先使用:分割線,然後用|來將每個數字拆分爲一個字符串。最後使用Integer.Parse來獲取數字。

+0

我結束了使用這個和二維數組的組合......謝謝! – Redandwhite 2010-01-19 15:34:23

+1

很可能,使用HashMap 比使用2D數組更好。這應該讓你獲得上面描述的'理想'的方法調用。 – 2010-01-20 02:59:15

6

Scanner也可以做到這一點(自Java 1.5以來)。與String#split相比,其優勢在於您可以使用正則表達式進行某種自動類型轉換。

從javadoc中

String input = "1 fish 2 fish red fish blue fish"; 
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*"); 
System.out.println(s.nextInt()); 
System.out.println(s.nextInt()); 
System.out.println(s.next()); 
System.out.println(s.next()); 
s.close(); 

例另外,如果你的目標是通過他們的名字收回號碼,使用某種類型的哈希表來存放它爲快速的檢索。

+0

是 - 一個散列表,其中的名稱作爲鍵,以及整數數組作爲值。 – RichardOD 2010-01-19 14:39:44

相關問題