【发布时间】:2013-01-30 18:57:30
【问题描述】:
我试图从用户输入中获取最低的双倍。我只捕获初始化的 min 变量的值 - 我错过了什么?谢谢!
public static void main(String[] args) {
double[] lowNum = new double[10];
Scanner input = new Scanner(System.in);
for (int i=0; i<=9; i++) {
System.out.println("Enter a double: ");
lowNum[i] = input.nextDouble();
}
input.close();
double min = calcLowNum(lowNum);
System.out.println(min);
}
public static double calcLowNum(double[] a) {
double min=0;
for (int i=0; i>=9; i++){
for (int j=0; j>=9; j++){
if (a[i]<=a[j] && j==9){
min=a[i];
}
else {
continue;
}
}
}
return min;
【问题讨论】:
-
尝试用自然顺序对它们进行排序,在这种情况下,最小的数字在第一个位置,最大的数字在最后一个位置
-
@anfy2002us:充其量是
O(n logn),而在O(n)中很容易找到最小值。 -
您似乎根本不需要数组。我会记住输入的最小数字,而不是记住所有数字。顺便说一句:最低的意思是最接近负无穷大?