В вашем коде есть несколько ошибок - поэтому, используя вашу попытку, вы можете установить первое значение после , которое было получено от пользователя как min и max, и работать оттуда:
int m = Integer.parseInt(JOptionPane.showInputDialog("Enter index"));
int num[] = new int[m];
int max = Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(max);
int min = max;
for (int i = 0; i < num.length - 1; i++) {
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
if (num[i] > max) {
max = num[i];
} else if (num[i] < min) {
min = num[i];
}
}
System.out.println("Largest Number in a given array is : " + max);
System.out.println("Smallest Number in a given array is : " + min);
При 5 входах по 3, 8, 6, 4 и -33 вывод:
Наибольшее число в данном массиве: 8
Наименьшее число в данном массиве: -33
Просто для удовольствия, вот альтернативное решение, которое весьма неэффективно:
System.out.println(Arrays.stream(num).boxed().mapToInt(Integer::intValue).max().getAsInt());
System.out.println(Arrays.stream(num).boxed().mapToInt(Integer::intValue).min().getAsInt());
Или, конечно, вы могли быотсортируйте массив с помощью Arrays.sort () , а затем найдите максимальное значение с помощью array[array.length() - 1]
и минимальное с помощью array[0]