public static void main(String[] args) {
//напишите тут ваш код
Scanner console = new Scanner(System.in);
boolean enter = true;
int sum = 0;
while(enter) {
// Как мне запустить такую строку?
console.hasNext("ENTER") ? enter = false : sum += console.nextInt();
}
System.out.println(sum);
console.close();
}
SomeBoy
35 уровень
Как запустить подобную строку?
Архивный
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Alexandr
11 сентября 2021, 19:00
у меня есть предположения:
1) подобный тернарный оператор не будет работать так как левое и правое выражения имеют разный тип.
2) ты используешь тернарный оператор как statement то есть в условии не установливаешь значение.
Это просто нужно делать с помощью if else либо переписывать эту строчку так что бы она соответствовала правилам документации(doc1, doc2)
Пожалуй более опытные ребята, дадут более исчерпующий ответ и возможно поправят меня.
+1
SomeBoy
11 сентября 2021, 19:07
Благодарю за ответ!
Я думал об этом и вот к чему пришел:
console.hasNext("ENTER") ? //возвращает boolean true или false
enter = false : // здесь идёт присваивание переменной из условия while, когда используем if-else всё работает, а здесь почему-то нет
sum += console.nextInt(); // ну здесь, собственно тоже присваивание...
Даже после прочтения много чего, в мозгу ничего не меняется - оно Должно работать!!! ведь все правильно сделал. Но не работает...значит ошибся.
0
Konstantin
11 сентября 2021, 19:18
выражения после "?" должны возвращать "что-то" причем одно типа.
0
Konstantin
11 сентября 2021, 19:21решение
Он для этого и создан чтобы возвращать одно из значений исходя из условия
+2
SomeBoy
13 сентября 2021, 13:11
Благодарю за подсказку!
А то,так и пытался его впихнуть....везде)))Потому что прикольная штука)
0