我是Java新手,现在正在上大学课程。我只是很好奇我缺少给自己输出的内容,因为现在控制台是空白的。
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]);
}
答案 0 :(得分:2)
首先,我真的不建议在for
循环内放置while
,特别是在这种情况下(因为它不起作用)。这里有问题:
1)您的for
循环以 i = 0 开始,并立即结束,因为!(i> 0)(i不是> 0 )-没错,数组中不会存储任何数据!
2)在for
循环中,您正在读取一个字符串,然后一个一个读取一个int。阅读它们之后,应移至下一个字符串和整数,以存储在names
和score
的下一个位置。
3)您没有增加i:因此(如果for
在工作),您将继续在同一位置为数组分配不同的值(基本上每次都重置变量的值)
这将是适合您的情况的最佳代码:
int i = 0;
while(inFile.hasNext()) {
names[i] = inFile.next();
scores[i] = inFile.nextInt();
count++;
i++;
}
希望这对您有所帮助! :)