1
Bom dia,
coloque mais um else:
if (i % 400 == 0) {
System.out.println(i);
} else if ((i % 4 == 0) && (i % 100 != 0)) {
System.out.println(i);
}else{
System.out.println("-1");
}
Entrada de dados:
2000
2010
Saida de dados:
2000
-1
-1
-1
2004
-1
-1
-1
2008
-1
-1
Isso é o que ele já disse que fez e que não é o pretendido.
O objectivo é, se por exemplo, os anos de entrada forem 2013 e 2015, apresentar apenas -1, já que não existem anos bissextos no intervalo indicado.
Só podes imprimir o -1 no final do teu ciclo e se não encontraste anos bissextos dentro do ciclo:
boolean encontrou = false;
for (i = ano1; i <= ano2; i++) {
if (i % 400 == 0 || ((i % 4 == 0) && (i % 100 != 0)) {
System.out.println(i);
encontrou = true;
}
}
if (!encontrou) {
System.out.println("-1");
}
Pelo enunciado do exercicio o “-1” deve aparecer quando nao houver ano bissexto.