А что не так с решением, когда для инициализации переменных для первого и второго минимального значения используем первые 2 введенных числа?
public static void main(String[] args) {
int numberToCompare;
Scanner inputData = new Scanner(System.in);
int mostMin = inputData.nextInt();
int lessMin = inputData.nextInt();
while (inputData.hasNextInt()) {
numberToCompare = inputData.nextInt();
if (numberToCompare < mostMin) {
lessMin = mostMin;
mostMin = numberToCompare;
}
else if (numberToCompare < lessMin){
lessMin = numberToCompare != mostMin ? numberToCompare : lessMin;
}
}
lessMin = lessMin > mostMin ? lessMin : mostMin;
System.out.println(lessMin);
}