В цикле while я присвоил ко второму минимальному (secmin) min,вроде бы понимаю почему присваиваем,типо если не присвоить,то в оба значнеия попадет не то что нужно и выведется MAX_VALUE,а вот зачем вообще эта строчка? изначально же secmin = MAX_VALUE import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner p = new Scanner(System.in); int min = Integer.MAX_VALUE; int secmin = Integer.MAX_VALUE; while (p.hasNextInt()){ int a = p.nextInt(); if (a < min){ min = a; } else if (a > min && a < secmin){ secmin = a; } } System.out.println(secmin); } }