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. Abaixo segue o código que criei:
[code]class Multiplo3 {
public static void main (String [] args) {
double i;
i = 1;
while (i <= 100) {
System.out.println (i);
if ((i%3) = 0) {
System.out.println (“Multiplo de 3”);
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.
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
class D{
int i=1;
public static void main(String arg[]){
int z=1;
System.out.println(i);// imprime 0
System.println(z);//1
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!!
[quote=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
class D{
int i=1;
public static void main(String arg[]){
int z=0;
System.out.println(i);// imprime 0
System.println(z);//1
o seu erro de compilacao foi devido vc usar uma variavel local sem declarar explicitamente o seu valor…
flw!![/quote]
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 %.
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
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.