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
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á
Boa noite, você esta utilizando || (or/ou) oi seja, se a variavel1 ou a variavel2 ser maior que zero ele continua.
edu_fernandes
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éigualavariavel2=variavel2-1
Estou chutando um possível erro, sei lá se estou certo.
Boa sorte com o projeto e bons estudos.
ViniGodoy
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.
D
Devacann
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
ViniGodoy
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.