В WHILE: логическое значение не может быть разыменовано

Ошибка, делающая логическое значение равным, следует за этим.

логическое значение не может быть разыменовано

boolean seguir = false;
do{
/*Aquí hay un juego... y pregunta si quiere seguir jugando*/
seguir = Character.toUpperCase(volverjugar.charAt(0))=='S' ;  
} while ( seguir.equals(true) );
1
задан 28.11.2019, 15:20
3 ответа

У тебя есть ошибка в следующей lГ-nea:

while ( seguir.equals(true) );

EstГЎs пробуя сравнивать такой один boolean как String


Правильное serГ - в:
while ( seguir ); //mientras true hace lo de la sentencia do

, Когда seguir, будет false, ломает цикл

4
ответ дан 01.12.2019, 10:40

Чтобы сравнивать booleanos ты должен сравнивать следующего способа:

while(seguir == true)

или наиболее все же:

while(seguir)

Надеялся, что он помог тебе.

1
ответ дан 01.12.2019, 10:40

Независимо, которого ты не нуждаешься в том, чтобы использовать mГ©todo equals(), чтобы сравнивать buleanos, estГЎs называя один mГ©todo на примитивном типе.

boolean seguir = false;// esta variable es de un tipo primitivo no un objeto
...
while ( seguir.equals(true) );// por tanto esta llamada de error de compilación

, Поскольку они прокомментировали тебе уже, только ты нуждаешься в том, чтобы сделать это: while (seguir). Но если quires, в пользу мотива, который, использовать mГ©todo equals() ты должен объявлять переменную как Boolean вместо boolean: Boolean seguir = false;

0
ответ дан 01.12.2019, 10:40