我有一个包含十个值的数组,我希望循环遍历数组并将最低值存储在变量中,但即使最小数字为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);
}
答案 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时。