Problema com while[RESOLVIDO]

Estou lendo um livro de Java básico e para praticar comecei a fazer um joguinho de rpg bem besta.
Enfim, tem uma condição do do_while que a meu ver parece que ignora e fica em um ciclo infinito

no while escrevo assim:

do {
.
.
. um monte
. de coisa
.
.
} while ((variavel1 > 1) || (variavel2 > 1);

obs.:
____variavel1 = -32
____public static void main(String args[]) <-- não sei direito o que isso faz, mas quando mudo os colchetes para o “String” parece que muda alguma coisa :lol:
____import java.util Scanner;
____do resto é só if while e variaveis pra lah e pra cá

simplesmente ele continua fazendo o ciclo

q diabos está acontecendo?

Boa noite, você esta utilizando || (or/ou) oi seja, se a variavel1 ou a variavel2 ser maior que zero ele continua.

Bom meu caro, a zica pelo jeito está na variavel2, pois a primeira nitidamente está fora do laço.
Como foi citado, pela lógica do operador || (or) se alguma das duas satisfazerem a afirmação o loop continuará.
Nao sei o que tem dentro deste código, mas pode ter algum erro de lógica.
As vezes vc simplesmente não está decrementando a variavel2, como por exemplo:

variavel2 -= 1; //Que é igual a variavel2 = variavel2 - 1

Estou chutando um possível erro, sei lá se estou certo.
Boa sorte com o projeto e bons estudos.

Uma boa idéia nesses casos é usar o depurador e testar se suas variáveis estão mesmo nos valores esperados, rodar o código passo a passo, e conferir se tudo está dentro dos conformes.

Procure na internet, há videos explicando como usar os depuradores do Eclipse e do Netbeans.

Galera vlw , foi ignorância mesmo "^^

estou acostumado com VBA, não tentei ou pesquisei se da pra colocar assim } while ((variavel1 >= 1 = TRUE) && …);
no java pelo que parece é sempre TRUE, pelo menos no livro que estou lendo não apareceu nada parecido

mas valeu o erro era o operador lógico mesmo

No java a comparação é feita com ==.
= é para atribuição.

Sua expressão faz uma atribuição ao final, e o resultado da atribuição é o valor atribuído.

Você teria que fazer:

(variavel1 >= 1) == true

Ou, simplesmente:

variavel1 >= 1