Я делаю практику вопрос, который:Какой разница между булевым = истинной и просто логическим
У нас есть громкий говорящий попугай. Параметр «час» - это текущее время в диапазоне 0..23. Мы находимся в беде, если попугай говорит, а час до 7 или после 20. Верните истину, если мы в беде.
parrotTrouble (правда, 6) → верно parrotTrouble (правда, 7) → ложь parrotTrouble (ложь, 6) → ложь
Мой код:
`public boolean parrotTrouble(boolean talking, int hour) {
if ((talking = true) && (hour < 7 || hour > 20)){
return true;
}
else
return false;
}`
Правильный ответ:
public boolean parrotTrouble(boolean talking, int hour) {
return (talking && (hour < 7 || hour > 20));
// Need extra parenthesis around the || clause
// since && binds more tightly than ||
// && is like arithmetic *, || is like arithmetic +
}
Мне интересно, в чем разница между разговором = истинным и просто разговором.
вы присваиваете истину разговору в выражении if, и он разрешен к '(talk = true) == true' – SomeJavaGuy
Первый пример уже глючит; это повлияет на 'true' на логическую переменную' talk', и поэтому условие всегда будет истинным. Автор, вероятно, имел в виду 'talk == true', но тогда просто« говорить »достаточно – fge
, он должен (говорить = true) или просто (говорить), что вы выполняете назначение talk = true – codeaholicguy