如何在数组中找到最小的数字?我的代码的问题是它总是打印出0作为最小的数字。
这是我的代码:
import java.util.Scanner;
public class Exercise1 {
public static void main (String [] args){
Scanner kb = new Scanner(System.in);
System.out.print("Please type the total number of marks: ");
int SIZE = kb.nextInt();
double [] marks = new double [SIZE];
double smallest = marks [0];
for (int i=0;i<SIZE;i++){
System.out.print("Enter the mark: ");
marks[i]=kb.nextDouble();
if(marks[i] < smallest) {
smallest = marks[i];
}
}
System.out.println("The lowest number is " + smallest);
}
}
答案 0 :(得分:0)
因为您创建了固定大小的数组。因此,当您指定最小值时,数组中的所有项都为0,因此它将为0。
您应该将代码更改为:
double smallest;
for (int i = 0; i < SIZE; i++) {
System.out.print("Enter the mark: ");
marks[i] = kb.nextDouble();
if (i == 0) {
smallest = marks[0];
}
if (marks[i] < smallest) {
smallest = marks[i];
}
}
答案 1 :(得分:0)
你的数组中没有任何内容。使用有效值填充数组并再次尝试,看看会发生什么。在Java中,arrays consisting of doubles are initialized according to this spec,因此整个数组当前包含0.0d的值。