package imc;
import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import imc.Imc;
public class Paciente implements Serializable{
private static final long serialVersionUID = 1L;
private String nome;
private String dtNascimento;
private char sexo;
private Imc imc;
private String idade;
private int id;
public static int gerador;
public Paciente(String nome, String dtNascimento, char sexo, float peso, float altura) {
this.nome = nome;
this.dtNascimento = dtNascimento;
this.sexo = sexo;
this.imc = new Imc(peso, altura, this);
id = ++gerador;
}
public static void setGerador(int valor) {
gerador = valor;
}
public int getId() {
return id;
}
public float getPeso() {
return imc.getPeso();
}
public void setPeso(float peso) {
this.imc.setPeso(peso);
}
public float getAltura() {
return imc.getAltura();
}
public void setAltura(float altura) {
this.imc.setAltura(altura);
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDtNascimento() throws ParseException{
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
Date dataFormatada = formato.parse(dtNascimento);
dtNascimento = formato.format(dataFormatada);
return dtNascimento;
}
public void setDtNascimento(String dtNascimento) {
this.dtNascimento = dtNascimento;
}
public char getSexo() {
return sexo;
}
public void setSexo(char sexo) {
this.sexo = sexo;
}
public Imc getImc() {
return imc;
}
public String diagnosticoImc() {
return this.imc.diagnostico();
}
public String toString() {
return String.format("%04d %-20s %-11s %c %5.1f %4.2f %s", id, nome, dtNascimento, sexo, imc.getPeso(), imc.getAltura(),
imc.diagnostico());
}
}