Проблема с тернарным оператором в Java

158
18 февраля 2019, 22:30

Нужно записать выражение без if, потому использую тернарный оператор

if (dictionary.containsKey(key)) {
      dictionary.put(key, dictionary.get(key) + 1);
    } 
else {
      dictionary.put(key, 1);
}

Пишу это так:

     (dictionary.containsKey(key)) ? (dictionary.put(key, dictionary.get(key) + 1)) : (dictionary.put(key, 1));

И он выдаёт ошибку "Not a statement", как быть?

Answer 1

Да, стейтмент в тернарном операторе в java недопустим. Альтернативно можно использовать тернарный оператор внутри put:

dictionary.put(key, dictionary.containsKey(key) ? dictionary.get(key) + 1 : 1)
READ ALSO
Ключевое слово void и возврат из функции

Ключевое слово void и возврат из функции

Хотел спросить, читаю в данный момент литературу по Java, но так и не понял почему void ничего не возвращает

157
Как нарисовать квадратную спираль?

Как нарисовать квадратную спираль?

скажите пожалуйста, как можно нарисовать квадратную спираль ? Я сперва пробовал с помощью линий нарисовать, но не совсем получилось, может...

131
Не меняется значения переменной boolean

Не меняется значения переменной boolean

Решил написать блокнотикДошёл до функции

158
Метод matches строки

Метод matches строки

Есть строка из которой нужно выбрать все слова, которые начинаются с большой буквы и записать в новую строку, а с маленькой также в новую строкуПонимаю,...

169