Подскажите на сколько грамотно написан код.
Был ли смысл решать данную задачу в таком виде?
Либо все же нужно было делать, так как указано в решении данной задаче?
package com.javarush.task.pro.task04.task0410;
import java.util.Scanner;
public class Solution
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int max = Integer.MAX_VALUE;
int min = max;
int end = max;
while (sc.hasNextInt())
{
int i = sc.nextInt();
if (i < min && min == max)
{
min = i;
end = i;
}
if (i < min)
{
end = min;
min = i;
}
//if (i > min && end == max) end = i; убрал в комент данную строку, так как она не нужна
// Хотя компилятор схавал код с ней.
if (i > min && i < end) end = i;
}
System.out.println(end);
}
}
Само решение вот такое было.
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 min = console.nextInt();
int secondMin = console.nextInt();
if (secondMin < min) {
int tmp = min;
min = secondMin;
secondMin = tmp;
}
while (console.hasNextInt()) {
int x = console.nextInt();
if (x < min) {
secondMin = min;
min = x;
} else if (x < secondMin && x > min) {
secondMin = x;
}
}
System.out.println(secondMin);
}
}