alexabolada
(usa Debian)
Enviado em 01/05/2023 - 16:42h
Olá! Obrigado por apontar a falha no algoritmo. Realmente, não consideramos anos bissextos. Vamos ajustar o algoritmo para incluir essa verificação:
[code]
import java.util.Scanner;
public class IdadeEmDias {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Digite a idade em anos: ");
int anos = sc.nextInt();
System.out.print("Digite a idade em meses: ");
int meses = sc.nextInt();
System.out.print("Digite a idade em dias: ");
int dias = sc.nextInt();
int resultado = converteIdade(anos, meses, dias);
System.out.println("A idade total em dias é: " + resultado + " dias.");
}
public static int converteIdade(int anos, int meses, int dias) {
int diasTotais = (anos * 365) + (meses * 30) + dias;
int anosBissextos = 0;
for (int i = 1; i <= anos; i++) {
if (ehAnoBissexto(i)) {
anosBissextos++;
}
}
diasTotais += anosBissextos;
return diasTotais;
}
public static boolean ehAnoBissexto(int ano) {
return