Exercício 3.8 - 4 - Não compila - Quem puder ajudar, Agradeço!
6 respostas
Gabriel_Nonato
Prezados,
O exercício da apostila "Caelum - Java e Orientação a Objetos", pag 18 (22 em pdf) pede para imprimir uma determinada quantidade de nº e escrever se eles são múltiplos de três. Na apostila da a dica para usar o operador "%", não consegui compilar, aparece o erro em anexo[img] [/img]. Abaixo segue o código que criei:
classMultiplo3{publicstaticvoidmain(String[]args){doublei;i=1;while(i<=100){System.out.println(i);if((i%3)=0){System.out.println("Multiplo de 3");}i=i+1;}}}
Comparação se faz com == , ele reclama do % pois você está sem querer tentando atribuir ( = ) um valor( 0 ) a algo que não é uma variável( i%3 ).
Até!
fbeli
Lembre-se de informar o erro gerado ao compilar e/ou executar. Este exemplo foi fácil de ver, mas pode surgir alguns que sejam mais difíceis e que sejam apresentados somente para vc.
Forte abraço
LPJava
simples variaveis locais deve ser inicializadas veja q vc tem int dentro de um metodo, e esse int so existe enquanto o metodo tiver sendo executando… agora variaveis de intancia sao inicializadas automaticamente veja a diferença
o seu erro de compilacao foi devido vc usar uma variavel local sem declarar explicitamente o seu valor…
assim tava olhando seu codigo mais uma vez e vc colocou = dentro de um if isso nao eh valido se o valor nao for uma boolean…
flw!!
maquiavelbona
camilolopes:
simples variaveis locais deve ser inicializadas veja q vc tem int dentro de um metodo, e esse int so existe enquanto o metodo tiver sendo executando… agora variaveis de intancia sao inicializadas automaticamente veja a diferença
o seu erro de compilacao foi devido vc usar uma variavel local sem declarar explicitamente o seu valor…
flw!!
O pior é que não foi. Nesse trecho:
if((i%3)=0){
System.out.println("Multiplo de 3");
}
Ele está atribuindo um valor ( 0 ) a um valor ( i%3 , que pode ser 0, 1 ou 2 mas nunca uma variável ). O compilador para aí quando encontra essa situação reclamando do %.
Até!
LPJava
eh exato, o operador de = nao eh permitido no if, caso nao seja um valor boolean… vc acredita que eu nao viq ele inicializou a variavel?
aumentar meu grau… ta mal
Gabriel_Nonato
Pessoal, deu certo!
Obrigado pela ajuda, foi um detalhe… e que eu havia visto na apostila mas nem me lembrei na hora do código.
Ah, eu havia colocado a imagem da compilação em anexo, quando mandei enviar apareceu a imagem p/ mim.