Действительно, программа не работает с отрицательными числами. Но не понимаю, в чем ошибка. В моем представлении так:
1) Пункт "Программа должна выводить на экран второе минимальное из введенных целых чисел." — прописаны условия, при котором определяется второй минимум. Очевидно, ошибка в одном или нескольких условиях, но не нахожу её.
2) Пункт "Если введено несколько вторых минимальных чисел, необходимо вывести любое." — для этих целей в сравнениях стоят <= и >=, а не < и >
package com.javarush.task.pro.task04.task0410;
import java.util.Scanner;
/*
Второе минимальное число из введенных
*/
public class Solution {
public static void main(String[] args) {
//напишите тут ваш код
Scanner scanner = new Scanner(System.in);
int min = scanner.nextInt();
int max = scanner.nextInt();
if(min > max) {
int temp = min;
min = max;
max = temp;
}
int secondMin = max;
while (scanner.hasNextInt()) {
int temp = scanner.nextInt();
if(temp <= min) {
max = secondMin;
secondMin = min;
min = temp;
} else if (temp >= max) {
min = secondMin;
secondMin = max;
max = temp;
} else {
if(temp <= secondMin) {
max = secondMin;
secondMin = temp;
}
}
}
System.out.println(secondMin);
}
}