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
Curtir tópico
+ 0
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).
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
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;
}
}
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
Clique aqui para fazer login e interagir na Comunidade :)