Olá pessoa, boa tarde!
Estou com dúvida em:
- como colocar os pacientes em ordem alfabética com o ‘compare to’.
- como fazer os pacientes que estão depois de um determinado paciente (que deletei no meio do vetor), “cheguem para a esquerda” para ocupar seu lugar.
- como consultar os clientes pelo código de cada um (código que será informado pelo Scanner)
Aí está minha classe Principal:
[code]import java.util.Scanner;
public class Principal {
private static Scanner entrada = new Scanner(System.in);
private static Paciente[] vetorPacientes;
private static int menu() {
System.out.println("[[[ REGISTRO DE PACIENTES ]]]");
System.out.println("(1) Incluir Paciente");
System.out.println("(2) Excluir Paciente");
System.out.println("(3) Consultar Paciente");
System.out.println("(4) Listar Pacientes");
System.out.println("(5) Sair");
System.out.print("Digite a opção desejada:");
return entrada.nextInt();
}
private static Paciente criarPaciente() {
Paciente p = new Paciente();
System.out.print("Digite o nome do paciente:");
p.setNome(entrada.next());
System.out.println("Digite o sexo do paciente:");
p.setSexo(entrada.next());
System.out.println("Digite o idade do paciente:");
p.setIdade(entrada.nextInt());
System.out.println("Digite o CPF do paciente:");
p.setCpf(entrada.next());
System.out.println("Digite o endereço do paciente:");
p.setEndereco(entrada.next());
System.out.println("Digite o código do paciente:");
p.setCodigo(entrada.nextInt());
return p;
}
public static void main(String[]args){
int qtdePacientes = 0;
int indice = -1;
System.out.println("[[[ REGISTRO DE PACIENTES ]]]");
System.out.println("Informe a quantidade de pacientes:");
qtdePacientes = entrada.nextInt();
vetorPacientes = new Paciente [qtdePacientes];
int retorno = menu();
do{
switch (retorno){
case 1:
if (indice >= vetorPacientes.length){
System.out.print("Lista cheia!\n");
}
else{
indice++;
vetorPacientes[indice] = criarPaciente();
System.out.println ("Paciente registrado com sucesso!");
}
retorno = menu();
break;
case 2:
if (indice<0)
System.out.println ("Não há pacientes cadastrados!");
else{
vetorPacientes[indice] = null;
System.out.println ("Paciente excluído com sucesso");
indice--;
}
retorno = menu();
break;
case 3:
int codigo;
if (indice<0)
System.out.println("Não há pacientes cadastrados!");
else{
System.out.print ("Informe o código do paciente:");
codigo = entrada.nextInt();
boolean pacienteEncontrado = false;
for(int i = 0; i<indice; i++)
if(vetorPacientes[i].getCodigo() == codigo){
System.out.println ("Paciente");
System.out.println ("Código:"+vetorPacientes[i].getCodigo());
System.out.println ("Nome:"+vetorPacientes[i].getNome());
System.out.println ("Endereço:"+vetorPacientes[i].getEndereco());
System.out.println ("Idade:"+vetorPacientes[i].getIdade());
System.out.println ("CPF:"+vetorPacientes[i].getCpf());
System.out.println ("Sexo:"+vetorPacientes[i].getSexo()+"\n");
pacienteEncontrado = true;
}
if(!pacienteEncontrado)
System.out.println ("Paciente não encontrado");
}
retorno = menu();
break;
case 4:
if (indice< 0)
System.out.println ("Não há pacientes cadastrados!");
else
for(Paciente paciente:vetorPacientes){
System.out.println ("Paciente");
System.out.println ("Código:"+paciente.getCodigo());
System.out.println ("Nome:"+paciente.getNome());
System.out.println ("Endereço:"+paciente.getEndereco());
System.out.println ("Idade:"+paciente.getIdade());
System.out.println ("CPF:"+paciente.getCpf());
System.out.println ("Sexo:"+paciente.getSexo()+"\n");
}
retorno = menu();
break;
case 5: System.exit(0);
break;
default: break;
}
}while(retorno>0);
}
}[/code]