while (file.hasNext()) {
if (file.hasNextInt()) {
int readMidGrades = file.nextInt();
int readFinalGrades = file.nextInt();
int[] midterms = {readMidGrades};
int[] finals = {readFinalGrades};
double sum = 0;
for(int i=0; i<midterms.length; i++) {
sum += midterms[i];
}
double average=(sum/midterms.length);
System.out.print(average);
因此,我正在尝试查找数组的总和。我做了两个int数组,我从文件中收到了数字。尝试求和时,它会打印出数字,但不会将它们求和。我写的正是我的教科书所说的,甚至是我在这里找到的其他方式。我想保留我的for循环。发生这种情况是因为它将数字保存为字符串吗?
答案 0 :(得分:0)
目前,您有两个由一个元素组成的数组,它们每次在循环中都会重新初始化(我也认为缺少括号)。
考虑将 ArrayList 用于 readMidGrades 和 readFinalGrades 值存储。因此您的代码应如下所示:
List<Integer> midterms = new ArrayList<>();
List<Integer> finals = new ArrayList<>();
while (file.hasNext()) {
if (file.hasNextInt()) {
int readMidGrades = file.nextInt();
int readFinalGrades = file.nextInt();
midterms.add(readMidGrades);
finals.add(readFinalGrades);
}
}
double sum = 0;
for(int i=0; i<midterms.size(); i++) {
sum += midterms.get(i);
}
double average=(sum/midterms.size());
System.out.print(average);