gpt4 book ai didi

java - 读取文件并将名称和数字存储在两个数组中

转载 作者:行者123 更新时间:2023-12-01 21:08:56 32 4
gpt4 key购买 nike

我正在开发一个程序,该程序读取文件并将名称和分数存储在两个单独的数组中,但我正在努力。这是我到目前为止所拥有的。我为名为 name 的名称创建了一个数组,但我很困惑如何将名称复制到数组的每个索引中。

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

最佳答案

首先,您需要在声明时将 i 初始化为 0:

int i = 0;

然后,分割行后,您可以从 String[] 中提取数据并将其放入 namesscores 数组中:

String [] words = line.split("\t");

// The first element in 'words' is the name
names[i] = words[0];

// The second element in 'words' is a score, but it is a String so we have
// to convert it to an integer before storing it
scores[i] = Integer.parseInt(words[1], 10);

// Increment 'i' before moving on to the next line in our file
i++;

不要忘记增加 i,如上所示。

有一些错误检查我已经掩盖了。在调用 split() 后,您可能需要检查 words 的长度是否为 2 。另请记住 Integer.parseInt()可以扔一个NumberFormatException如果它无法将分数列中的数据解析为整数。

关于java - 读取文件并将名称和数字存储在两个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41622937/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com