java读取文件并将名称和数字存储在两个数组中
我正在开发一个程序,它读取一个文件,并将名称和分数存储在两个单独的数组中,但我正在努力。这就是我目前所拥有的。 我为名为names的名称创建了一个数组,但我不知道如何将名称复制到数组的每个索引中
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ScannerReadFileSplit {
public static void main(String[] args) {
File file = new File("NamesScore.txt");
String[] names = new String[100];
int[] scores = new int[100];
int i;
try {
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String [] words = line.split("\t");
for (String word: words) {
System.out.println(word);
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
我的文本文件是:
John James 60
Kim Parker 80
Peter Dull 70
Bruce Time 20
Steve Dam 90
# 1 楼答案
那怎么办
# 2 楼答案
首先,在声明时,您需要将
i
初始化为0
:然后,在分割行之后,您可以从
String[]
中提取数据,并将其放入names
和scores
数组中:不要忘记如上所示增加
i
我已经掩盖了一些错误检查。在调用^{} 之后,您可能需要检查} 无法将分数列中的数据作为整数解析,则它可以抛出一个^{}
words
的长度是否为2。还要记住,如果^{# 3 楼答案
我试图更正您的代码,并在我认为您出错的地方提供内联注释。事实上,你已经接近解决方案了。在一行代码之后,试着找出作为输出得到的是什么,如
这一行将给出两个字符串(因为它将分割文件中只有一个选项卡分隔名称和分数的行)。你可以试着自己调试。就像简单地打印值一样。比如说
这将帮助你进一步进步
希望这有帮助