Наверное это самый тупой и прямолинейный код...но я учусь.
Сижу уже второй день над этой задачей, более лаконичного решения в ум не приходит...Другая работа стоит на месте )).
Как вообще понять и выводить именно любое из вторых минимальных. Правильное решение еще не смотрел.
package com.javarush.task.pro.task04.task0410;
import java.util.Scanner;
/*
Второе минимальное число из введенных
*/
public class Solution {
public static void main(String[] args) {
//напишите тут ваш код
Scanner console = new Scanner(System.in);
int firstDigit = console.nextInt();
int secondDigit = console.nextInt();
int min1 = 0;
int min2 = 0;
if (firstDigit >= secondDigit)
{min1 = firstDigit; min2 = secondDigit;}
else {min1 = secondDigit; min2 = firstDigit;}
while (console.hasNextInt())
{
int nextDigit = console.nextInt();
if (nextDigit < min1 && nextDigit > min2)
{
min1 = nextDigit;
min2 = min2;
}
else if (nextDigit > min1)
{
min2 = min2;
min1 = nextDigit;
}
else if (nextDigit < min1 && nextDigit > min2)
{
min1 = min2;
min2 = nextDigit;
}
else if (nextDigit < min1 && nextDigit < min2)
{
min1 = min2;
min2 = nextDigit;
}
}
System.out.println(min1);
}
}