Код работает исправно, если вводить по 2 числа И Если из этих двух чисел первое является текстом или знаком, то цикл завершается и минимальное высчитывается верно. Если из двух чисел второе является текстом или знаком, то выдает ошибку.
package com.javarush.task.pro.task04.task0410;
import java.util.Scanner;
/*
Второе минимальное число из введенных
*/
public class Solution {
public static void main(String[] args) {
//напишите тут ваш код
Scanner k = new Scanner(System.in);
int min1 = Integer.MIN_VALUE;
int min2 = Integer.MIN_VALUE;
while (k.hasNextInt()) {
int a = k.nextInt();
int b = k.nextInt();
if (a<b || a==b)
{
min2=min1;
min1=a;
}
else if (a>b || a==b) {
min2=min1;
min1=b;
}
}
System.out.println(min2);
}
}