Calcular a idade . Help Me

2 respostas
B

eu tenho que criar um codigo que calcule a idade exata da pessoa, recebendo a data de nascimento que ele digita. com uma pequena ajuda do professor cheguei a este código, mas não consigo terminá-lo, será que alguém pode me ajudar ?

package idade;

import javax.swing.JOptionPane;

public class Main {

/** Creates a new instance of Main */
public Main() {
}

public static void main(String[] args) {
//variáveis

String nome, nascimento, mes, dia;

int resposta, idade, ano_nasc, dia_nasc, mes_nasc;

int dia_atual, mes_atual, ano_atual;
//código

nome=JOptionPane.showInputDialog(null,Digite seu nome:,Digite seu nome:,1);

dia=JOptionPane.showInputDialog(null,Digite o dia que você nasceu:,Digite o dia que você nasceu:,1);

mes=JOptionPane.showInputDialog(null,Digite o mês que você nasceu:,Digite o mês que você nasceu:,1);

nascimento=JOptionPane.showInputDialog(null,Digite o ano que você nasceu:,Digite o ano que você nasceu:,1);
//anos

resposta=Integer.parseInt(nascimento);

ano_nasc=resposta;
//meses

resposta=Integer.parseInt(mes);

mes_nasc=resposta;
//dias

resposta=Integer.parseInt(dia);

dia_nasc=resposta;

//mostra na tela
JOptionPane.showMessageDialog(null,nome+", você tem: “+ano_nasc+” anos !",“Resultado”,1);

só que o que eu não consigo é calcular a idade levando em conta também os dias e meses, teria uma solução ?

2 Respostas

T

Faca o seguinte, primeiro, faca a seguinte conta:

ano_atual - ano_nasc = idade

depois, se mes_atual < mes_nasc && dia_atual < dia_nasc, idade = idade - 1

Acho que por aih voce consegue chegar la… Espero ter ajudado, abracos

M

Detalhe você tem que converter a data informada para o tipo Date.

Assim:

String data = JOptionPane.inputDialog("Entre com sua data de nascimento:"); Date nasc = new java.text.SimpleDateFormat("dd/MM/yyyy").parse(data); System.out.println(new java.util.Date() - nasc);

:okok:

Criado 30 de junho de 2007
Ultima resposta 30 de jun. de 2007
Respostas 2
Participantes 3