0
Good evening guys, I was making a table that lists the doctors and how many patients they have, but at print time only comes the doctors, does not come with the list of patients.
Classs Paciente:
package entity;
import java.util.ArrayList;
import java.util.List;
public class Paciente implements Comparable<Paciente>{
private Integer idPaciente;
private String nomePaciente;
private List<Medico> medicos;
public Paciente() {
// TODO Auto-generated constructor stub
}
public Paciente(Integer idPaciente, String nomePaciente, List<Medico> medicos) {
super();
this.idPaciente = idPaciente;
this.nomePaciente = nomePaciente;
this.medicos = medicos;
}
public Paciente(Integer idPaciente, String nomePaciente) {
super();
this.idPaciente = idPaciente;
this.nomePaciente = nomePaciente;
}
@Override
public String toString() {
return "Paciente [idPaciente=" + idPaciente + ", nomePaciente=" + nomePaciente + ", medicos=" + medicos + "]";
}
public Integer getIdPaciente() {
return idPaciente;
}
public void setIdPaciente(Integer idPaciente) {
this.idPaciente = idPaciente;
}
public String getNomePaciente() {
return nomePaciente;
}
public void setNomePaciente(String nomePaciente) {
this.nomePaciente = nomePaciente;
}
public List<Medico> getMedicos() {
return medicos;
}
public void setMedicos(List<Medico> medicos) {
this.medicos = medicos;
}
public void adicionar(Medico m){
if (medicos==null){
medicos = new ArrayList<Medico>();
}
medicos.add(m);
}
public void remover(Medico m){
if (medicos!=null){
if(medicos.contains(m)){
medicos.remove(medicos.get(medicos.indexOf(m)));
}else{
System.out.println("Não encontrado");
}
}else{
System.out.println("Medico vazio");
}
}
@Override
public boolean equals(Object obj) {
Paciente p = (Paciente) obj;
return this.idPaciente.equals(p.getIdPaciente());
}
@Override
public int compareTo(Paciente p) {
return this.idPaciente.compareTo(p.getIdPaciente());
}
}
Class Medico:
package entity;
import java.util.ArrayList;
import java.util.List;
public class Medico implements Comparable<Medico> {
private Integer idMedico;
private String nomeMedico;
private String especializacao;
private List<Paciente> pacientes;
public Medico() {
}
public Medico(Integer idMedico, String nomeMedico, String especializacao, List<Paciente> pacientes) {
super();
this.idMedico = idMedico;
this.nomeMedico = nomeMedico;
this.especializacao = especializacao;
this.pacientes = pacientes;
}
public Medico(Integer idMedico, String nomeMedico, String especializacao) {
super();
this.idMedico = idMedico;
this.nomeMedico = nomeMedico;
this.especializacao = especializacao;
}
public Medico(List<Paciente> pacientes) {
super();
this.pacientes = pacientes;
}
@Override
public String toString() {
return "Médico [idMedico=" + idMedico + ", nomeMedico=" + nomeMedico + ", especializacao=" + especializacao
+ "]";
}
public Integer getIdMedico() {
return idMedico;
}
public void setIdMedico(Integer idMedico) {
this.idMedico = idMedico;
}
public String getNomeMedico() {
return nomeMedico;
}
public void setNomeMedico(String nomeMedico) {
this.nomeMedico = nomeMedico;
}
public String getEspecializacao() {
return especializacao;
}
public void setEspecializacao(String especializacao) {
this.especializacao = especializacao;
}
public List<Paciente> getPacientes() {
return pacientes;
}
public void setPacientes(List<Paciente> pacientes) {
this.pacientes = pacientes;
}
public void adicionar(Paciente p){
if (pacientes==null){
pacientes = new ArrayList<Paciente>();
}
pacientes.add(p);
}
public void remover(Paciente p){
if (pacientes!=null){
if (pacientes.contains(p)){
pacientes.remove(pacientes.get(pacientes.indexOf(p)));
}else{
System.out.println("Nao encontrado o paciente");
}
}else{
System.out.println("Lista está vazia.");
}
}
@Override
public boolean equals(Object o) {
Medico m = (Medico) o;
return this.idMedico.equals(m.getIdMedico());
}
@Override
public int compareTo(Medico m) {
return this.idMedico.compareTo(m.getIdMedico());
}
}
And the Main:
package entity;
public class Main {
public static void main(String[] args) {
Paciente p1 = new Paciente(10,"Stuart");
Paciente p2 = new Paciente(11, "Lu");
Paciente p3 = new Paciente(12,"Andre");
Medico m1 = new Medico(100, "qlqnome1", "otorrinolaringologista");
Medico m2 = new Medico(101,"qlqnome2", "psiquiatra");
m1.adicionar(p1);
m1.adicionar(p2);
m1.adicionar(p3);
m2.adicionar(p1);
System.out.println(m1);
System.out.println(m2);
}
}
Upshot:
Médico [idMedico=100, nomeMedico=qlqnome1, especializacao=otorrinolaringologista]
Médico [idMedico=101, nomeMedico=qlqnome2, especializacao=psiquiatra]
The result shown does not match the code. In particular, you say that the doctor
qlqnome1
isotorrinolaringologista
and theqlqnome2
ispsquiatra
, but your exit shows thatroger
isviado
and thatglobinho
ispsiquiatra
.– Victor Stafusa