возникли проблемы с поиском суммы моего массива JAVA - PullRequest
0 голосов
/ 25 октября 2018
        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, я получил номера из файла.При попытке получить сумму он печатает числа, но не суммирует их.Я пишу именно так, как говорится в моем учебнике, и даже другие способы, которые я нашел здесь.Я хотел бы сохранить цикл, который у меня есть.Это происходит потому, что он сохраняет числа в виде строки?

1 Ответ

0 голосов
/ 29 октября 2018

Пока у вас есть два массива одного элемента, каждый из которых инициализируется каждый раз в цикле (также я думаю, что отсутствуют круглые скобки).

Рассмотрите возможность использования 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);
...