gente é o seguinte tenho um trabalho para amanhã e uma parte deste trabalho é mostra um laço onde imprimi na tela se o ano é bisexto ou não eu fiz duas classes mais ta dando erro e gostaria de saber onde está o erro por favor me ajudem nisso.
publicclassanobisexto{protectedfloatAno;publicvoidsetAno(floatpAno){floatAno=pAno;}publicfloatgetAno(){returnAno;}publicvoidlaco(){if(Ano%4==0&Ano%100!=0){System.out.print("O Ano Digitado é Bisexto");}else{System.out.println("O Ano Digitado não é Bisexto");}}}
anobisexto para AnoBiSexto
testmodulos para TestModulos
acho q resolveria seu problema
vinilima
Seu métodos estavam em ordem errada, faça isso:
public static void main(String[] args) {
anobisexto ano = new anobisexto();
ano.setAno(2012);
ano.laco();
}
tiagobernardo32
vinilima:
Seu métodos estavam em ordem errada, faça isso:
public static void main(String[] args) {
anobisexto ano = new anobisexto();
ano.setAno(2012);
ano.laco();
}
Além disso que o vinilima mencionou, faça:
publicclassanobisexto{protectedfloatAno;publicvoidsetAno(floatpAno){this.Ano=pAno;//E não flat Ano = pAno }
Até +
IsaelCoelho
Gente ja fiz como vocês me dissseram mais continua dando erro o programa só diz que o ano não é bisexto mesmo quando o ano é bisexto
será que não ha um erro no meu laço if
leoramos
De novo: posta o stackTrace, a mensagem de erro.
Arrumou o comparador, como te indicaram?
Abraço!
Antes que digam que deveria estar dando erro, por sua variavel estar sendo utilizada antes de ser iniciada vou explicar.
Variaveis de instancia que são primitivas quando iniciadas recebem um valor padrão (no seu caso um float está recebendo 0);
publicclassanobisexto{protectedfloatAno;//esta variavel quando vc instancia sua classe recebe o valor 0//este metodo esta errado no contexto de um setter//vc esta criando uma variavel de bloco aqui dentro sendo assim ela morre junto com o final da execução do metodo e vc nunca//atribuiu valor a sua variavel de instancipublicvoidsetAno(floatpAno){floatAno=pAno;}//o certo seriapublicvoidsetAno(floatpAno){thisAno=pAno;}publicfloatgetAno(){returnAno;}publicvoidlaco(){if(Ano%4==0&Ano%100!=0){//na sua comparação falta um & -> &&//ja que sua variavel no momento que voce chama o metodo ainda naum teve //nenhum valor setado é feito a condição baseada no valor iniciado com a classe (0)// 0 divido por 4 é zero e o resto é zero sendo assim vai entrar na condição do ifSystem.out.print("O Ano Digitado é Bisexto");//vai exibir esta mensagem}else{System.out.println("O Ano Digitado não é Bisexto");}}}