在查找数组JAVA的和时遇到问题 while(file.hasNext()){ if(文件.hasNextInt()){ int readMidGrades=file.nextInt(); int readFinalGrades=file.nextInt(); int[]期中={readMidGrades}; int[]final={readFinalGrades}; 双和=0; 对于(inti=0;i

在查找数组JAVA的和时遇到问题 while(file.hasNext()){ if(文件.hasNextInt()){ int readMidGrades=file.nextInt(); int readFinalGrades=file.nextInt(); int[]期中={readMidGrades}; int[]final={readFinalGrades}; 双和=0; 对于(inti=0;i,java,arrays,string,file,int,Java,Arrays,String,File,Int,现在,您有两个一个元素的数组,每次在循环中都会重新初始化(我还认为缺少括号) 考虑将ArrayList用于readMidGrades和readFinalGrades值存储。因此,您的代码应该如下所示: while (file.hasNext()) { if (file.hasNextInt()) { int readMidGrades = file.nextInt(); int readFinalGrades = f

现在,您有两个一个元素的数组,每次在循环中都会重新初始化(我还认为缺少括号)

考虑将ArrayList用于readMidGrades和readFinalGrades值存储。因此,您的代码应该如下所示:

        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);
List midterms=new ArrayList();
列表总决赛=新的ArrayList();
while(file.hasNext()){
if(文件.hasNextInt()){
int readMidGrades=file.nextInt();
int readFinalGrades=file.nextInt();
期中考试。添加(阅读期中成绩);
期末考试。添加(readFinalGrades);
}
}
双和=0;

对于(int i=0;i数组的长度始终为1,因此您并不是真正的“求和”。您不妨编写
average=readMidGrades
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);