Como atualizar atributo histórico

2 respostas
R

Olá galera,

Sou novato em Java, comecei a faculdade de Análise de Sistemas e estou com dificuldade de entender certos métodos e algumas funcionalidades, da linguagem. Assim sendo, gostaria da ajuda da galera.

Preciso fazer um sistema de classe simulando uma Clínica Médica. Classes: Paciente, Médico, Consulta e ExecutaClinica. No mínimo essas 4 classes.
Com os seguintes menus:
Menu Principal:
1) Gerenciar Pacientes
2) Gerenciar Médicos
3) Gerenciar Consultas
4) Sair

Menu Paciente:
1.1) Incluir paciente via teclado
1.2) Incluir paciente(s) via arquivo de texto
1.3) Incluir paciente(a) via arquivo binario
1.4) Excluir um paciente
1.5) Listar todos os pacientes
1.6) Listar os pacientes do sexo feminino
1.7) Informar a idade do paciente mais velho, do mais novo e a média de idade de todos os pacientes;
1.8) Informar os dados do paciente que mais consultou na clínica.
1.9) Gravar dados dos pacientes em formato binário (Objetos)

Menu Médico:
2.1) Cadastrar médico via teclado
2.2) Incluir médico(s) via arquivo de texto
2.3) Gravar dados dos médico(s) em arquivo de texto
2.4) Listar todos os médicos
2.5) Listar todos os médicos de uma dada especialidade
2.6) Mostrar o nome do médico mais velho e do sexo masculino

Menu Consulta:
3.1) Marcar consulta
3.2) Excluir consulta
3.3) Mostrar todas as consultas de um dado médico
3.4) Imprimir em arquivo todas as consultas de um médico
3.5) Mostrar todas as consultas

Segue a Classe Paciente. O foco deve ser no atributo histórico.
Pois, a propriedade histórico é uma string que contém todas as consultas que o devido paciente já realizou na clínica, no seguinte formato:
" - - \n"

import java.io.*;

public class Paciente extends Pessoa implements Serializable{

	private String nome, cpf, endereco, estadoCivil, telefone, historico;
	private int idade;
	private char sexo;

	public Paciente(String nome, String cpf, char sexo,  int idade, String endereco, String estadoCivil, String telefone){
		this.nome = nome;
		this.cpf = cpf;
		this.sexo = sexo;
		this.idade = idade;
		this.endereco = endereco;
		this.estadoCivil = estadoCivil;
		this.telefone = telefone;
	}
}

Não irei postar os get e set, pois, acredito que não seja necessário.

Classe Consulta:

public class Consulta {

	private int codigo;
	private String cpfPaciente, cpfMedico, dataConsulta, diaSemana, sintomas;

	public Consulta(int codigo, String cpfMedico, String cpfPaciente, String dataConsulta, String diaSemana, String sintomas){
		this.codigo = codigo;
		this.cpfMedico = cpfMedico;
		this.cpfPaciente = cpfPaciente;
		this.dataConsulta = dataConsulta;
		this.diaSemana = diaSemana;
		this.sintomas = sintomas;
	}
}

Preciso, informar os dados do paciente que mais consultou na clínica. E preciso que cada vez que um paciente consulte, seja adicionado ao histórico as informações:
" - - \n".

Criei esse método para marcar a Consulta.

//3.1 Marcar consulta
public static Consulta marcarConsulta(){	
		int cod = fazSorteio();//esse método gera um número aleatório...
		JOptionPane.showMessageDialog(null, "Anote o código da Consulta que foi gerado: [ " + cod + " ] e, informe ao paciente." +
				"\n Você também, poderá visualizar a Listagem de Consultas, para saber o código.", 
				"Clinica RDS  |  Código gerado automático pelo sistema.",JOptionPane.PLAIN_MESSAGE);

		String cpfMed = confereCpfMed(); String cpfPac = confereCpfPac();//esse método verificasse se o CPF é válido ou não.

		return  new Consulta(cod,
				cpfMed,
				(JOptionPane.showInputDialog(null, "Informe o CPF do Paciente:")),
				(JOptionPane.showInputDialog(null, "Informe a data da Consulta:")),
				(JOptionPane.showInputDialog(null, "Informe o dia da Semana:")),
				(JOptionPane.showInputDialog(null, "Informe o Sintomas:", "Clinica RDS  |   Consultas",JOptionPane.PLAIN_MESSAGE)));
	}

Como poderia fazer para alimentar o histórico do paciente. Teria que verifica pelo CPF digitado qual paciente é? Não sei como implementar.

Desde já muito obrigado!

2 Respostas

marcos4ft

O ideal seria que o histórico fosse um List e não uma String.

List<Consulta> historico = new ArrayList<Consulta>();

Assim, todos os dados das consultas do paciente ficam registrados e você pega a quantidade de consultas através do

historico.getSize();
marcos4ft

Ha,

na consulta deveria ter tambem um objeto do tipo paciente

Paciente paciente

e no método que marca a consulta, você passa o paciente;

Criado 28 de setembro de 2011
Ultima resposta 29 de set. de 2011
Respostas 2
Participantes 2