Skip to main content

14. Тернарный оператор

Теория

Тернарный оператор - это компактная запись конструкции if...else.

Общий вид тернарного оператора такой:

    переменная = условие ? значение_если_да : значение_если_нет

Например, в зависимости от чётности bb в переменную cc следующая команда положит либо a/2a/2, либо a2a^2:

    int c = b % 2 == 0 ? a / 2 : a * a;

С использованием if...else эквивалентный код будет таким:

    int c;
if (b % 2 == 0)
c = a / 2;
else
c = a * a;

Задача

С клавиатуры вводится целое число. Вывести на экран, является ли оно положительным ДА/НЕТ.


import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
System.out.println(a > 0 ? "ДА" : "НЕТ");
}
}

Формулы

Пусть точки AA и BB задаются координатами (xA,yA)(x_A,y_A), (xB,yB)(x_B, y_B), тогда расстояние между ними находится по формуле:

(xAxB)2+(yAyB)2\sqrt{(x_A-x_B)^2+(y_A- y_B)^2}

Пусть треугольник задаётся вершинами (xA,yA)(x_A,y_A), (xB,yB)(x_B,y_B), (xC,yC)(x_C,y_C), тогда площадь треугольника можно найти по формуле:

S=12(xAxC)(yByC)(xBxC)(yAyC)S=\frac{1}{2}|(x_A-x_C)(y_B-y_C)-(x_B-x_C)(y_A-y_C)|

Задание

Во всех задачах нужно вывести ДА, если требование задачи выполняется, и НЕТ - в противном случае.

Запрещается пользоваться условным оператором if. Вместо него используйте тернарный оператор.

  1. С клавиатуры водятся три целых числа. Определить, можно ли построить треугольник с такими длинами сторон.
  2. С клавиатуры вводится три пары чисел (xA,yA), (xB,yB), (xC,yC)(x_A,y_A),~(x_B,y_B),~(x_C,y_C) - координаты трех точек на плоскости. Для простоты можно считать, что все координаты целые. Определить, образуют ли эти три точки прямоугольный треугольник
  3. Введите с клавиатуры четырёхзначное число. Больше ли сумма цифр нечётных разрядов суммы чётных.
  4. Ввести с клавиатуры трехзначное положительное число. Вывести на экран, относится ли это число к виду aba (равна ли первая цифра равна последней).
  5. Ввести с клавиатуры четырехзначное положительное число. Вывести на экран, относится ли это число к виду abab (первые две цифры такие же, как вторые две).
  6. Введите с клавиатуры целое четырёхзначное число. Выведите на экран, верно ли, что все цифры этого числа разные.
  7. Введите с клавиатуры целое трёхзначное число. Выведите на экран, верно ли, что из цифр этого числа можно составить правильную арифметическую прогрессию (из 3-х элементов).

Ссылка на контест