Scanner sc = new Scanner(System.in);
int minNum = Integer.MAX_VALUE - 1;
int secondMin = Integer.MAX_VALUE;
while (sc.hasNextInt())
{
int income = sc.nextInt();
if (income < minNum)
minNum = income;
else if (income > minNum && income < secondMin)
secondMin = income;
}
System.out.println(secondMin);
Poshell Won
16 рівень
подскажите так проканает
Відповідь знайдено
Коментарі (5)
- популярні
- нові
- старі
Щоб залишити коментар,
потрібно ввійти в систему
Стас Пасинков
Software Developer в ZipyMaster
10 червня 2022, 20:54
запусти і дізнаєшся) все просто)
0
Poshell Won
11 червня 2022, 21:37
спс), я имел ввиду как вариант ответа.
0
Poshell Won
11 червня 2022, 21:38
А еще лучше, что в таком решении не хватает?
0
Стас Пасинков
Software Developer в ZipyMaster
12 червня 2022, 10:34
винести створення змінної за цикл (в циклі тільки привласнювати їй значення)
перейменувати її на шось інше, бо інкам - то більше тіпа як "дохід" перекладається. інпут - думаю норм було б.
там де елсіф перша первірка мабуть зайва, бо по елсу ви можете пройти тільки якщо є невірною умова з першого іфу. тобто ви виключили випадок коли вони рівні, але думаю це не змінює принципово ваш алгоритм.
у вас проблема, що коли ви змінюєте перший мінімум - ви нічого не робите із другим.
введіть 3, 2, 1 і побачите, шо результатом буде максимальне значення інта. бо ваш код просто ніколи не зайде у блок елс, бо він постійно заходитиме тільки у самий перший іф, де змінюватиме тільки основний мінімум і все, а друге мінімальне - так і буде незмінним, яким ви його проініціювали
0
Poshell Won
12 червня 2022, 17:43
дуже Дякую)
0