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

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

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

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

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

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

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

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

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

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

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

314