Java одна строка, если не работает для печати [дубликата]
На этот вопрос уже есть ответ здесь:
Явская троица без присваивания 4 ответаЕсли вы напишите что-то вроде:
boolean condition;
(...)
String out = condition ? "true" : "false";
System.out.println(out);
Оно работает. Но если вы напишите
condition ? System.out.println("true") : System.out.println("false");
Вы получаете ошибку «не утверждение». «Правильный» способ - написать (использование скобок или «быть или не быть в одной строке» выходит за рамки вопроса):
if (condition)
System.out.println("true");
else
System.out.println("false");
Зачем? Одна линияif
s всегда должен возвращать значение?
РЕДАКТИРОВАТЬ: Чтобы все указали на то, что
condition ? System.out.println("true") : System.out.println("false");
не правильный синтаксис, да, я получил эту часть. Я не прошу решения (хотя
System.out.println(condition ? "true" : "false");
это мило.
@ Андрей Тобилко, где это заявлено?ТОТ это то, что меня интересует
EDIT2: Принятый ответ дает именно то, что я хотел. Спасибо