Preciso de ajuda quanto ao While em java

Bom, eu estou no primeiro ano do ensino medio e tenho que fazer um jogo, decidi fazer um rpg, porem estou com dificuldade de achar o problema nesta parte, a condicao do while é a minha vida ser >0 ou a vidaM ser > que zero ou a minha escolha ser uma escolha diferente da escolha 4, mas mesmo eu escolhendo a alternativa 4, ou zerando alguma das vidas o programa continua repetindo o bloco. Alguém mais experiente poderia por favor me ajudar? segue a foto do while

Bacana, posta o código formatado

</>

Se eu entendi corretamente o que você quer a sua comparação ficaria diferente!

Quando a opção escoliha for igual a 4 ele deve sair do bloco? se for o caso ficaria mais ou menos assim:

while ((vida > 0 || vidaM > 0) && escolha != 4) {
    //Bloco de codificação
}

Veja… O operador || vai validar exatamente a expressão OU que você escreveu no seu teste.

Logo ENQUANTO [VIDA MAIOR QUE 0] “OU” [VIDAM MAIOR QUE 0] “OU” [ESCOLHA DIFERENTE DE 4] ele vai entrar no seu bloco, o que indica que basta uma das 3 ser verdadeira para que o código seja executado.

Pelo que entendi, seu problema está em quando q2ualquer uma das 3 deixa de ser verdade e o bloco continua executando. É isso? Se for basta trocar o || por && que é o operador Lógico “E”.

Aí a expressão fica ENQUANTO [VIDA MAIOR QUE 0] “E” [VIDAM MAIOR QUE 0] “E” [ESCOLHA DIFERENTE DE 4] de forma que se uma das vidas zerar ou você escolher 4, seu loop while se encerra.

Entendi o problema corretamente?

cara, era exatamente esse o problema, muito obrigado. Eu ja tinha ate pedido ajuda pra uma galera do 3 ano que nao viram nenhum problema na condicao do while, e eu precisava muito arrumar isso para poder continuar o jogo, entao valeu mesmo, de coracao

Beleza man, bom que resolveu, porém mais imporante que isso é você ter realmente entendido porque que resolveu. Você entendeu? Se sim, objetivo concluído.

Perceba que sua condição não tem nenhum problema sintático, era apenas semântico mesmo. As 3 condições tinham que ser verdadeiras para que seu while se mantivesse funcionando e não apenas uma delas.

Quando tiver esses problemas de IF ou While não funcionando como você quer, revisite sempre sua lógica e escreva no papel o que está escrito em código. Ler em português a sentença algumas vezes ajuda. Com o tempo o papel não será mais necessário, mas precisas repetir a lógica na sua mente.