1
resposta

Fui procurar uns exercícios na internet.

Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e mostre-a expressa em dias. Leve em consideração o ano com 365 dias e o mês com 30. (Ex: 3 anos, 2 meses e 15 dias = 1170 dias.)

public class Execicio1_2 {

    public static void main(String[] args) {

        int diasNoAno = 365;
        int diasNoMes = 30;

        int dias = 15;
        int meses = 2;
        int anos = 3;
        int totalDias = (anos * diasNoAno) + (meses * diasNoMes);

        System.out.println(anos +" Anos, " + meses + " Meses, " + dias +  " Dias, " + totalDias +  " Total de Dias vividos: " );

    }

}

Eu consegui resolver ele, mais eu to com uma duvida tem alguma forma de calacular datas, para que ao inves de eu ter que informar os dias/meses/anos, isso seja gerado para mim informando uma data? Possa ser que eu vá ver isso mais para frente nos outros cursos de ja mais gostaria de saber.

1 resposta

Boa noite vê se isso ajuda?

public class Execicio1_2 {
    public static void main(String[] args) {
        Date date = new Date();
        Calendar c = Calendar.getInstance();        
        c.setTime(date);
        c.add(Calendar.YEAR, 3);
        c.add(Calendar.MONTH, 3);
        c.add(Calendar.DATE, -17);
        Date currentDatePlusOne = c.getTime();
        int x = intervaloDias(date, currentDatePlusOne);
        int anos = currentDatePlusOne.getYear()-date.getYear();
        int meses = (currentDatePlusOne.getMonth()-date.getMonth())-1;
        int dias = currentDatePlusOne.getDay()-date.getDay()+13;
        System.out.println("Anos "+anos+" meses "+meses+" dias "+dias+" total de dias "+x);
    }
    public static int intervaloDias(Date d1, Date d2) {
        int result = (int) ((d1.getTime() - d2.getTime()) / 86400000L);
        return result < 0 ? result * -1 : result;
    }
}