Pode-se dizer que todo o código está quase pronto, o que falta agora é só estética, e o que eu quero é: Conseguir printar na tela dados(número de telefone, nome, idade…) de um funcionário especifico.
Como que faço isso ? Eu quero digitar o CPF desse funcionário, e na minha tela irá aparecer os seus dados. Dá para realizar isso com Map ou HashMap ?
package sistemaCrud;
class Funcionario {
String nome;
int idade;
String cpf;
String telefone;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
package sistemaCrud;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
class Principal {
public static void main (String [] args){
Map<String, Funcionario> colecaoFuncionarios = new HashMap<>();
Scanner input = new Scanner(System.in);
Funcionario f1 = new Funcionario();
while(true){
System.out.println(" — Selecione uma opção — “);
System.out.println(” 1 – Cadastrar um funcionário “);
System.out.println(” 2 – Remover um funcionário “);
System.out.println(” 3 – Atualizar dados de um funcionário “);
System.out.println(” 4 – Listar quantidade de funcionários cadastrados “);
System.out.println(” 5 – Sair");
String j = input.nextLine();
int opcao = Integer.parseInt(j);
switch (opcao){
case 1:
System.out.println(" – Opção 1 --");
System.out.println(" Infome o nome do funcionário “);
f1.setNome(input.nextLine());
System.out.println(” Informe o CPF do funcionário “);
f1.setCpf(input.nextLine());
System.out.println(” Informe a idade do funcionário “);
f1.setIdade(input.nextInt());
System.out.println(” Informe o telefone do funcionário ");
f1.setTelefone(input.nextLine());
colecaoFuncionarios.put(f1.getCpf(), f1);
System.out.println(" Funcionário cadastrado com sucesso");
break;
case 2:
System.out.println(" – Opção 2 --");
System.out.println(" Informe o CPF do funcionário a ser removido ");
Funcionario cpfRemover = colecaoFuncionarios.get(input.nextLine());
if (cpfRemover == null){
System.out.println(" Funcionário não encontrado ");
continue;
}
colecaoFuncionarios.remove(cpfRemover);
System.out.println(" Funcionário removido do Banco de Dados ! ");
break;
case 3:
System.out.println(" – Opção 3 – “);
System.out.println(” Informe o CPF do funcionário");
Funcionario funcionarioAlteracao = colecaoFuncionarios.get(input.nextLine());
if (funcionarioAlteracao == null){
System.out.println(" Funcionário não encontrado ");
continue;
}
System.out.println(" Informe o novo nome do funcionário (enter para manter "+f1.nome+ “)” );
String temp = input.nextLine();
if (!temp.trim().isEmpty()) {
funcionarioAlteracao.setNome(temp);
}
colecaoFuncionarios.put(funcionarioAlteracao.getCpf(), f1);
System.out.println("Dados do funcionário atualizados com sucesso. ");
break;
case 4:
System.out.println(" – Opção 4 --");
System.out.println(“Tem-se " + colecaoFuncionarios.size() + " funcionário (s) cadastrado(s) no sistema\n”);
break;
case 5:
return;
}}}}