Не могу понять, почему не засчитывается третье условие. Алгоритм вроде бы верный и выводит то, что надо.
package com.javarush.task.pro.task04.task0410;
import java.util.Scanner;
/*
Второе минимальное число из введенных
*/
public class Solution {
public static void main(String[] args) {
int min, sec_min;
Scanner reader = new Scanner(System.in);
min = reader.nextInt();
sec_min = reader.nextInt();
while (reader.hasNextInt())
{
int n = reader.nextInt();
if ((n > min) && (n < sec_min))
{
sec_min = n;
}
else
{
if ((n > sec_min) && (n < min))
{
min = sec_min;
sec_min = n;
}
}
if (n < min)
{
sec_min = min;
min = n;
}
}
System.out.print(sec_min);
}
}