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