找不到我数组JAVA的总和

时间:2018-10-25 17:13:41

标签: java arrays string file int

        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循环。发生这种情况是因为它将数字保存为字符串吗?

1 个答案:

答案 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);