试图在数组中找到最小值

时间:2013-11-29 15:21:13

标签: java arrays sorting

我有一个包含十个值的数组,我希望循环遍历数组并将最低值存储在变量中,但即使最小数字为0.0,我也会继续输出3。< / p>

这是我的尝试:

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

2 个答案:

答案 0 :(得分:3)

您的第一个for循环读取1少于实际数字。因此,averagesArray的最后一个索引值为0。因此,您将最小数量设为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;
}

答案 1 :(得分:1)

使用数组的长度循环 -

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

}

它将从0开始读取长度。您使用 i&lt;当数组的大小为10时