Obs.: O programa está no início. Sou iniciante em Java, e antes de dar continuidade no programa, quero resolver os erros pertinentes no momento.
Erro:
O programa:
Parte1:
// Exercício 3.17 Computadorização dos registros de saúde
// Para exibir janelas
import javax.swing.JOptionPane;
public class PerfilSaudeTeste
{
public static void main(String[] args)
{
PerfilSaude paciente = new PerfilSaude();
String dia2 = JOptionPane.showInputDialog(null, "Digite o dia de hoje: ", "Perfil de Saúde do Paciente", JOptionPane.PLAIN_MESSAGE);
int diaAtual = Integer.parseInt(dia2);
paciente.setDiaAtual(diaAtual);
String mes2 = JOptionPane.showInputDialog(null, "Digite o mês atual: ", "Perfil de Saúde do Paciente", JOptionPane.PLAIN_MESSAGE);
int mesAtual = Integer.parseInt(mes2);
paciente.setMesAtual(mesAtual);
String ano2 = JOptionPane.showInputDialog(null, "Digite o ano atual: ", "Perfil de Saúde do Paciente", JOptionPane.PLAIN_MESSAGE);
int anoAtual = Integer.parseInt(ano2);
paciente.setAnoAtual(anoAtual);
String nome = JOptionPane.showInputDialog(null, "Digite seu nome: ", "Perfil de Saúde do Paciente", JOptionPane.PLAIN_MESSAGE);
paciente.setNome(nome);
String sobrenome = JOptionPane.showInputDialog(null, "Digite seu sobrenome: ", "Perfil de Saúde do Paciente", JOptionPane.PLAIN_MESSAGE);
paciente.setSobrenome(sobrenome);
// Array para modificar os botões do JOptionPaneOptionMessage
Object [] arranjo = {"Masculino", "Feminino"};
int genero = JOptionPane.showOptionDialog(null, "Seu gênero.", "Perfil de Saúde do Paciente", 0, JOptionPane.PLAIN_MESSAGE, null, arranjo, arranjo[0]);
paciente.setGenero(genero);
String dia1 = JOptionPane.showInputDialog(null, "Digite o dia em que nasceu: ", "Perfil de Saúde do Paciente", JOptionPane.PLAIN_MESSAGE);
int dia = Integer.parseInt(dia1);
paciente.setDiaNasc(dia);
String mes1 = JOptionPane.showInputDialog(null, "Digite o mês em que nasceu: ", "Perfil de Saúde do Paciente", JOptionPane.PLAIN_MESSAGE);
int mes = Integer.parseInt(mes1);
paciente.setMesNasc(mes);
String ano1 = JOptionPane.showInputDialog(null, "Digite o ano em que nasceu: ", "Perfil de Saúde do Paciente", JOptionPane.PLAIN_MESSAGE);
int ano = Integer.parseInt(ano1);
paciente.setAnoNasc(ano);
String altura1 = JOptionPane.showInputDialog(null, "Digite a sua altura em metros: ", "Perfil de Saúde do Paciente", JOptionPane.PLAIN_MESSAGE);
double altura = Double.parseDouble(altura1);
paciente.setAltura(altura);
String peso1 = JOptionPane.showInputDialog(null, "Digite o seu peso em quilogramas: ", "Perfil de Saúde do Paciente", JOptionPane.PLAIN_MESSAGE);
double peso = Double.parseDouble(peso1);
paciente.setPeso(peso);
System.out.printf("%s", paciente.getIdade());
}
}
Parte 2:
public class PerfilSaude
{
private String nomeVI;
private String sobrenomeVI;
private int generoVI;
private int diaNascVI;
private int mesNascVI;
private int anoNascVI;
private double alturaVI;
private double pesoVI;
private int diaAtualVI;
private int mesAtualVI;
private int anoAtualVI;
// Métodos set
public void setDiaAtual(int diaAtualVL)
{
diaAtualVI = diaAtualVL;
}
public void setMesAtual(int mesAtualVL)
{
mesAtualVI = mesAtualVL;
}
public void setAnoAtual(int anoAtualVL)
{
anoAtualVI = anoAtualVL;
}
public void setNome(String nomeVL)
{
nomeVI = nomeVL;
}
public void setSobrenome(String sobrenomeVL)
{
sobrenomeVI = sobrenomeVL;
}
public void setGenero(int generoVL)
{
generoVI = generoVL;
}
public void setDiaNasc(int diaNascVL)
{
diaNascVI = diaNascVL;
}
public void setMesNasc(int mesNascVL)
{
mesNascVI = mesNascVL;
}
public void setAnoNasc(int anoNascVL)
{
anoNascVI = anoNascVL;
}
public void setAltura(double alturaVL)
{
alturaVI = alturaVL;
}
public void setPeso(double pesoVL)
{
pesoVI = pesoVL;
}
// Métodos get
public String getNome()
{
return nomeVI;
}
public String getSobrenome()
{
return sobrenomeVI;
}
public int getGenero()
{
return generoVI;
}
public int getDiaNasc()
{
return diaNascVI;
}
public int getMesNasc()
{
return mesNascVI;
}
public int getAnoNasc()
{
return anoNascVI;
}
public double getAltura()
{
return alturaVI;
}
public double getPeso()
{
return pesoVI;
}
// Calcula a idade do paciente
public String getIdade()
{
if (anoNascVI == anoAtualVI)
{
// O usuário tem 0 anos de idade
return String.format("0 anos de idade.");
}
if (anoNascVI > anoAtualVI)
{
if (mesNascVI < mesAtualVI)
{
// O usuário tem X anos de idade
return String.format("%d anos de idade.", anoAtualVI - anoNascVI - 1);
}
if (mesNascVI == mesAtualVI)
{
if (diaNascVI < diaAtualVI)
{
// O usuário tem X anos de idade
return String.format("%d ano de idade.", anoAtualVI - anoNascVI - 1);
}
if (diaNascVI == diaAtualVI)
{
// O usuário tem X anos de idade
return String.format("%d ano de idade.", anoAtualVI - anoNascVI);
}
}
}
}
}