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

160
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 ничего не возвращает

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

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

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

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

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

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

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

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

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

171