gpt4 book ai didi

java - 我不认为我的数组正在存储数据

转载 作者:行者123 更新时间:2023-11-30 01:43:33 24 4
gpt4 key购买 nike

我是 Java 新手,现在正在上大学类(class)。我只是好奇我缺少什么来给自己输出,因为现在控制台是空白的。

public static void main(String[] args) throws IOException {

double avgScore;
int highestScore, count = 0;
String highScoringStudent;

String names[] = null;
int scores[] = null;

File myFile = new File("Student_Data.txt");
Scanner inFile = new Scanner(myFile);

inFile.nextLine();

while(inFile.hasNext()) {

for(int i = 0; i > 0; i++) {
names[i] = inFile.next();
scores[i] = inFile.nextInt();
count++;
}
}

System.out.print("Name Score");
System.out.print(names[count] + " " + scores[count]);
}

最佳答案

首先,我真的不建议在 while 循环中放置 for ,尤其是在这种情况下(因为它不起作用)。问题如下:

1) 你的 for 循环以 i = 0 开始,并立即结束,因为 !(i > 0) (i 是not > 0) - 所以你是对的,数组中不会存储任何数据!

2) 在 for 循环中,您正在读取一个字符串,然后一个接一个地读取一个 int。阅读完它们后,您应该移至下一个字符串和整数,以存储在 namesscore 的下一个位置。

3)您没有增加 i:所以(如果 for 正常工作),您只需在同一位置继续为数组分配不同的值(基本上重置变量的值)每次)。

这将是最适合您的情况的代码:

int i = 0;

while(inFile.hasNext()) {
names[i] = inFile.next();
scores[i] = inFile.nextInt();
count++;
i++;
}

希望这有帮助! :)

关于java - 我不认为我的数组正在存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59059996/

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