我有一个文本文件,其中包含以下内容:
NAME1:0 | 0 | 0 | 0 | 0 |
名2:0 | 0 | 0 | 0 | 0 |
......等等。
我将名称导入到字符串数组中。
这没关系,但是我想不出一种将数字与数组项关联起来的简洁方法。数字由“管道”分隔|''字符
理想情况下,我想调用一个方法,在给定名称时返回一个整数数组,例如public int[] getScores(String name)
答案 0 :(得分: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();
此外,如果您的目标是通过名称恢复数字,请使用某种哈希表来存储它以便更快地检索。
答案 1 :(得分:3)
首先使用:
分割一行,然后使用|
将每个数字拆分为字符串。最后使用Integer.Parse来获取数字。