Crie um método para calcular a idade da pessoa.

14/12/2018

0

package com.trabalho.poo;

import java.util.Scanner;

public class pessoa {
    
    private static String nome;
    private static String dataNascimento;
    private static float idade;
    
    public static String getNome(){
        return nome;
    }
 
    public void setNome(String nome){
        pessoa.nome = nome;
    }
    
    public static String getDataNascimento(){
        return dataNascimento;
    }
    
    public void setDataNascimento(String dataNasciemnto){
        pessoa.dataNascimento = dataNascimento;
    }
    
    public static float getIdade(){
        return idade;
    }
    
    public void setIdade(float idade){
        pessoa.idade = idade;
    }
    
    public static Scanner entrada;
   
//FALTA FAZER O CALCULO PARA A IDADE
    
    public static void main(String[] args) {
       entrada = new Scanner(System.in);
       
       System.out.println("Digite seu nome: ");
       nome = entrada.nextLine();
       
       System.out.println("Digite sua Data de Nascimento: ");
       dataNascimento = entrada.nextLine();
    }
    public static void main1(String[] args) {
	System.out.println("Seu nome e: " + nome);
	System.out.println("Sua idade e: " + idade);
	
    }
}
Jose Filho

Jose Filho

Responder

Post mais votado

14/12/2018

Você poderia usar ao invés de String o DATE, que serve exclusivamente para datas. Você pode encontrar mais sobre neste link : https://www.devmedia.com.br/trabalhando-com-as-classes-date-calendar-e-simpledateformat-em-java/27401

Ou então ao invés de solicitar toda a data ao usuário, poderia perguntar apenas o ano de nascimento e o ano atual. E subtrair (Ano atual - Ano de nascimento).

Kelvin A

Kelvin A
Responder

Mais Posts

15/12/2018

Ricardo Pestana

José,

Tenta assim, só separei seu programa em uma classe chamada Principal (com o método main) e outra chamada Pessoa... e tratei a idade como numero inteiro, mas acredito que esse exemplo vai te dar uma idéia de como fazer o calculo....


public class Principal {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Pessoa pessoa = new Pessoa();

System.out.println("Digite seu nome: ");
pessoa.setNome(entrada.nextLine());

System.out.println("Digite sua Data de Nascimento: ");
String nascimento = entrada.nextLine();
try {
pessoa.setDataNascimento(sdf.parse(nascimento));
} catch (ParseException e) {
System.err.println("Data informada no formato erroado!!!");

}

System.out.println(pessoa.getNome());
System.out.println(pessoa.getDataNascimento());
System.out.println(pessoa.getIdade());
}

}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public class Pessoa {

private String nome;
private Date dataNascimento;
private Integer idade;
private ZoneId ZONEID = ZoneId.of("America/Sao_Paulo");

public Pessoa() {
super();
}

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public Date getDataNascimento() {
return dataNascimento;
}

public void setDataNascimento(Date dataNascimento) {
this.dataNascimento = dataNascimento;
}

public Integer getIdade() {
Integer idade = 0;
LocalDate dataHoje = LocalDate.now();
if (this.dataNascimento != null) {
LocalDate dtNacimento = ZonedDateTime.ofInstant(dataNascimento.toInstant(), ZONEID).toLocalDate();
Period dif = dtNacimento.until(dataHoje);
idade = dif.getYears();
}
return idade;

}


}
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar