Вроде бы в IDE работает, вроде бы мануальные проверки проходит.
Идея была такая:
Составить лист, в нем найти минимальное значение.
Это минимальное значение переставить в начало листа, поменяв значения местами.
Например минимальное значение (6), тогда я меняю местами значения с индексами (0) и (6).
Затем еще раз нахожу минимальное значение, но уже поиск идет по листу, начиная с индекса (1), а не ноль, при этом отсекаю значения листа, которые совпадают с минимальным.
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<Integer> mylist = new ArrayList<Integer>();
while (scanner.hasNextInt()) {
int i = scanner.nextInt();
mylist.add(i);
}
int min = mylist.get(0);
int minIndex = 0;
int indexTransfer = 0;
for (int i = 0; i < mylist.size(); i++) {
if (mylist.get(i) < min) {
min = mylist.get(i);
minIndex = i;
}
}
indexTransfer = mylist.get(0);
mylist.set(0, minIndex);
mylist.set(minIndex, indexTransfer);
int min1 = mylist.get(1);
int minIndex1 = 0;
for (int i = 1; i < mylist.size(); i++) {
if ((mylist.get(i) < min1) && (mylist.get(i) > min)) {
min1 = mylist.get(i);
minIndex1 = i;
}
}
System.out.println(min1);
}
}package com.javarush.task.pro.task04.task0410;
import java.util.Scanner;
import java.util.ArrayList;
/*
Второе минимальное число из введенных
*/
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<Integer> mylist = new ArrayList<Integer>();
while (scanner.hasNextInt()) {
int i = scanner.nextInt();
mylist.add(i);
}
int min = mylist.get(0);
int minIndex = 0;
int indexTransfer = 0;
for (int i = 0; i < mylist.size(); i++) {
if (mylist.get(i) < min) {
min = mylist.get(i);
minIndex = i;
}
}
indexTransfer = mylist.get(0);
mylist.set(0, minIndex);
mylist.set(minIndex, indexTransfer);
int min1 = mylist.get(1);
int minIndex1 = 0;
for (int i = 1; i < mylist.size(); i++) {
if ((mylist.get(i) < min1) && (mylist.get(i) > min)) {
min1 = mylist.get(i);
minIndex1 = i;
}
}
System.out.println(min1);
}
}