我似乎无法将我的数组传递给辅助方法。它只能看到10个输入中的一个,所以我无法在辅助方法中正确使用它。
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("Enter some numbers: ");
double [] numbers = new double [10];
int n = 0;
int i = 0;
while(n < numbers.length) {
numbers[i] = input.nextDouble();
n+=1;
}
System.out.println(min(numbers));
}
public static double min(double[] array) {
System.out.println(array[1]);
double smallest = array[0];
for (int l = 1; l < array.length; l++) {
if (array[l] < smallest) {
smallest = array[l];
System.out.println("Your smallest = " + smallest);
}
}
return 0;
}
答案 0 :(得分:2)
在第一个while循环中,变量i
不会改变。
答案 1 :(得分:1)
while (n < numbers.length) {
numbers[i] = input.nextDouble();
n+=1;
}
变量i
永远不会被更改,因此您将每个新数字分配给数组中的同一位置,覆盖以前的数字。
只需使用您的n
变量:
while (n < numbers.length) {
numbers[n] = input.nextDouble();
n += 1;
}