【问题标题】:having trouble finding the sum of my array JAVA无法找到我的数组 JAVA 的总和
【发布时间】:2018-10-25 17:13:40
【问题描述】:
        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,因此您并没有真正“求和”任何东西。你不妨写average = readMidGrades

标签: java arrays string file int


【解决方案1】:

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

考虑使用 ArrayList 来存储 readMidGradesreadFinalGrades 值。所以你的代码应该是这样的:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    相关资源
    最近更新 更多