Не понимаю смысл требования: "Если введено несколько вторых минимальных чисел, необходимо вывести любое.". Согласна, что у меня не оптимальный код и нагорожено много условий, но программа работает согласно требованиям, кроме 4. Прогоняла на любых значениях, всегда выводится второе минимальное значение. Как удовлетворить 4 условию? В чем его смысл?
package com.javarush.task.pro.task04.task0410;
import java.util.Scanner;
/*
Второе минимальное число из введенных
*/
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int min1 = Integer.MAX_VALUE;
int min2 = 0;
int min3 = 0;
int min4 = 0;
while (scan.hasNextInt())
{
int a = scan.nextInt();
if (a <= min1) {
min3 = min1;
min1 = a;
}
else
{
min4 = min2;
min2 = a;
}
if (min2 < min4 || min4 == 0) {}
else
{
min2 = min4;
}
if (min2 < min3 || min3 == min1) {}
else
{
min2 = min3;
}
}
if (min1 < min2 && min2 != Integer.MAX_VALUE)
{
System.out.println(min2);
}
else
{
System.out.println(min1);
}
}
}