我有在它下面的文本文件:乾淨的方式從文本文件導入數據?
名1:0 | 0 | 0 | 0 | 0 |
name2:0 | 0 | 0 | 0 | 0 |
...等
我正在將名稱導入到一個字符串數組。
這很好,但我想不出一種乾淨的方式將數字與數組項相關聯。數字由「管道」'|'分隔性格
理想我想調用,它返回一個整數數組的方法給出的名稱即是這樣public int[] getScores(String name)
我有在它下面的文本文件:乾淨的方式從文本文件導入數據?
名1:0 | 0 | 0 | 0 | 0 |
name2:0 | 0 | 0 | 0 | 0 |
...等
我正在將名稱導入到一個字符串數組。
這很好,但我想不出一種乾淨的方式將數字與數組項相關聯。數字由「管道」'|'分隔性格
理想我想調用,它返回一個整數數組的方法給出的名稱即是這樣public int[] getScores(String name)
使用時string split
首先使用:
分割線,然後用|
來將每個數字拆分爲一個字符串。最後使用Integer.Parse來獲取數字。
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();
例另外,如果你的目標是通過他們的名字收回號碼,使用某種類型的哈希表來存放它爲快速的檢索。
是 - 一個散列表,其中的名稱作爲鍵,以及整數數組作爲值。 – RichardOD 2010-01-19 14:39:44
我結束了使用這個和二維數組的組合......謝謝! – Redandwhite 2010-01-19 15:34:23
很可能,使用HashMap比使用2D數組更好。這應該讓你獲得上面描述的'理想'的方法調用。 –
2010-01-20 02:59:15