Разве в инициализации переменной min значение не должно быть максимальным array.length? Почему сравнение минимального числа начинается с нуля? Scanner scr = new Scanner(System.in); int n = scr.nextInt(); array = new int[n]; for (int i = 0; i < array.length; i++) { array[i] = scr.nextInt(); } int min = array.length; for (int i = 1; i < array.length; i++) { if (array[i] < min){ min = array[i]; } } System.out.println(min);