试图找到在阵列最小值 [英] Attempting to find minimum value in array

查看:108
本文介绍了试图找到在阵列最小值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有十个值的数组,我通过数组,寻找循环和存储在变量中的最低值,但我不断收到 0.0 输出,即使是最小数字是 3

下面是我的尝试:

 静态无效lowestStudentAvgMark(){
    双[] = averagesArray新的双[10];
    的for(int i = 0; I< 9;我++){
      双总=(studentMarksArray [I] [0] + stu​​dentMarksArray [I] [1] + stu​​dentMarksArray [I] [2])/ 3;
      averagesArray [I] =总;
    }
    双分钟= averagesArray [0];
    对于(INT计数器= 1;计数器< averagesArray.length;反++){
      如果(averagesArray [计数器] LT;分){
        分= averagesArray [窗口];
      }
    }
    的System.out.println(分钟);
  }


解决方案

您第一个循环读 1 少,比实际数量。因此, averagesArray 的最后一个索引值 0 。所以,你有最低数量为 0

 的for(int i = 0; I< averagesArray.length;我++){//使用averagesArray.length   双总=(studentMarksArray [I] [0] +
             studentMarksArray [I] [1] + stu​​dentMarksArray [I] [2])/ 3;
      averagesArray [I] =总;
}

I have an array with ten values and I am looking to loop through the array and store the lowest value in a variable but I keep getting 0.0 outputted even though the smallest number is 3.

Here is my attempt:

  static void  lowestStudentAvgMark() {
    double [] averagesArray = new double[10];
    for(int i = 0; i < 9; i++) {
      double total = (studentMarksArray[i][0]+studentMarksArray[i][1]+studentMarksArray[i][2])/3;
      averagesArray[i] = total;
    }
    double min = averagesArray[0];
    for (int counter = 1; counter < averagesArray.length; counter++) {
      if (averagesArray[counter] < min) {
        min = averagesArray[counter];
      }
    }
    System.out.println(min);
  }

解决方案

Your first for loop read 1 less, than actual number. So, the last index value of averagesArray is 0. So, you got minimum number as 0.

for(int i = 0; i< averagesArray.length; i++){ //Use averagesArray.length

   double total = (studentMarksArray[i][0]+
             studentMarksArray[i][1]+studentMarksArray[i][2])/3;
      averagesArray[i] = total;
}

这篇关于试图找到在阵列最小值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆