-1

Всем привет, не выходит правильно не могу понять почему. Заранее спасибо

import java.lang.Math;
class Example {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt(), z = sc.nextInt(), y = sc.nextInt();
        int max1 = Math.max(x,z), max2 = Math.max(z,y);
        int min1 = Math.min(x,z), min2 = Math.min(z,y);
        if (max1 >= max2 || max1 <= max2){
            System.out.println("Ура, бастуем!");
        }else (min1 >= min2 || min1 <= min2){
            System.out.println("За работу, Солнце ещё высоко");
        }
    sc.close();
}

}

Формат ввода:

В первой строке - зарплаты разработчиков через пробел, три целых числа.

Во второй строке - разница, при превышении которой будет объявлена забастовка.

Формат вывода:

"Ура, бастуем!" - если критический уровень превышен;

"За работу, Солнце ещё высоко" - если критический уровень не превышен.

Sample Input:

300 400 500 100 Sample Output:

Ура, бастуем!

Nurali
  • 1

1 Answers1

2

У вас условие после оператора else, а условие должно быть только после оператора if. Попробуйте так:

class Example {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt(), z = sc.nextInt(), y = sc.nextInt();
        int max1 = Math.max(x,z), max2 = Math.max(z,y);
        int min1 = Math.min(x,z), min2 = Math.min(z,y);
        if (max1 >= max2 || max1 <= max2){
            System.out.println("Ура, бастуем!");
        }else  if (min1 >= min2 || min1 <= min2){
            System.out.println("За работу, Солнце ещё высоко");
        }
    sc.close();
}

}

или так (в зависимости от задачи)

class Example {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt(), z = sc.nextInt(), y = sc.nextInt();
        int max1 = Math.max(x,z), max2 = Math.max(z,y);
        int min1 = Math.min(x,z), min2 = Math.min(z,y);
        if (max1 >= max2 || max1 <= max2){
            System.out.println("Ура, бастуем!");
        }if (min1 >= min2 || min1 <= min2){
            System.out.println("За работу, Солнце ещё высоко");
        }
    sc.close();
}

}

had0uken
  • 1,560
  • 2
  • 4
  • 17
  • Кроме опечатки else if, в данном коде есть логическая ошибка, так как условие первого if будет выполняться всегда: max1 >= max2 || max1 <= max2 -- из двух чисел всегда одно будет меньше или равно другому. – Nowhere Man May 30 '22 at 09:14