Como faço para que na função Idade, seja impresso a idade em dias???
packagetesteString;importjava.util.Calendar;publicclassTesteString{publicstaticvoidBomDia(Stringnome,Stringsobrenome){System.out.println("Bom dia "+nome+" "+sobrenome+".");}publicstaticvoidIdade(Stringnome,CalendardtNasc){dtNasc=Calendar.getInstance();System.out.println(nome+", sua idade é "+dtNasc.getTime()+" dias");}publicstaticvoidteste(Stringnome,Stringsobrenome,CalendardtNasc){BomDia(nome,sobrenome);Idade(nome,dtNasc);}publicstaticvoidmain(String[]args){CalendardtNasc=Calendar.getInstance();dtNasc.set(Calendar.MONTH,07);dtNasc.set(Calendar.YEAR,1985);teste("João","Silva",dtNasc);}}
Para começar, você deveria antes de criar o tópico pesquisar … por baixo achei pelo menos uns 6 posts com assuntos parecidos e inclusive com exemplos de como fazer o que você precisa.
Boa sorte no seu exercício …
P
pablo.lorencao
Obrigado
P
pablo.lorencao
Esses links não me ajudaram em quase nada! Porque falam muito da classe DATE e pouco da CALENDAR
Mas deixarei a solução para poder ajudar alguém que precisar.
E obrigado assim mesmo!
packagetesteString;importjava.util.Calendar;publicclassTesteString{publicstaticvoidBomDia(Stringnome,Stringsobrenome){System.out.println("Bom dia "+nome+" "+sobrenome+".");}publicstaticvoidIdade(Stringnome,CalendardtNasc){CalendaranoAtual=Calendar.getInstance();anoAtual.get(Calendar.YEAR);longidade=(anoAtual.get(Calendar.YEAR)-dtNasc.get(Calendar.YEAR))*365;System.out.println(nome+", sua idade é "+idade+" dias");}publicstaticvoidteste(Stringnome,Stringsobrenome,CalendardtNasc){BomDia(nome,sobrenome);Idade(nome,dtNasc);}publicstaticvoidmain(String[]args){CalendardtNasc=Calendar.getInstance();dtNasc.set(Calendar.DAY_OF_MONTH,07);dtNasc.set(Calendar.MONTH,07);dtNasc.set(Calendar.YEAR,1985);teste("João","Silva",dtNasc);}}
P
pablo.lorencao
Corrigindo mais uma vez e dessa vez sim funcionando corretamente, mesmo depois do teste de mesa.
publicstaticvoidcalcularIdade(Stringnome,CalendardtNasc){CalendardataAtual=Calendar.getInstance();longdiaMilissegundos=86400000;longidade=((dataAtual.getTimeInMillis()-dtNasc.getTimeInMillis())/diaMilissegundos)/365;System.out.println(nome+", sua idade é "+idade+" ano(s).");}