Когда я запускаю эту программу, он находит максимальное число, но всегда печатает 0.0 как минимум.Поиск минимального и максимального числа массива
Когда я использую Double.POSITIVE_INFINITY и Double.NEGATIVE_INFINITY вместо установки наименьшего и наибольшего значения в x [0], он работает правильно.
Использование Math.min и Math.max также дает мне ту же ошибку, но работает с Double.POSITIVE_INFINITY и Double.NEGATIVE_INFINITY. Я просмотрел несколько других подобных вопросов, и мне не разрешено использовать Array.sort или любые другие предложения, которые публикуют люди.
Я просто хочу знать, почему установка обеих переменных в x [0] работает когда-либо только для поиска наибольшего числа, независимо от того, объявляю ли я эту переменную первым, вторым или устанавливаю ее равным (двойной наибольший, самый маленький = x [0]). ,
public class MaxAndMin {
public static void main (String[] args) {
Scanner s= new Scanner(System.in);
System.out.println("How many numbers would you like to enter?");
int n= s.nextInt();
double[] x= new double[n];
double smallest= x[0]; //double smallest= Double.POSITIVE_INFINITY;
double largest= x[0]; //double largest= Double.NEGATIVE_INFINITY;
for (int i=0; i<x.length; i++) {
x[i]= kbd.nextDouble();
if (x[i] > largest) {
largest = x[i];
} else if (x[i] < smallest) {
smallest = x[i];
}
}
System.out.println("Smallest number: " + smallest + " Largest number: " + largest);
}
}
'x [0] == 0', так как элементы новых двойных массивов инициализируются нулем. –