Olá, pessoal!
Estou aprendendo o sobre hashmap, mas não consigo encontrar para resolver problemas para receber as informações.
Aluno
public class Aluno {
private int matricula;
private String nomeAluno;
private double nota;
public Aluno(int mat,String nome,double nota){
this.matricula = mat;
this.nomeAluno = nome;
this.nota = nota;
}
// Metodos do Setters e Getters
UsandoHashMap
public class UsandoHashMaps {
private HashMap<Integer, Aluno> mapeamentoDeAluno;
public void usandoHashMap(int getMatricula,Aluno a){
mapeamentoDeAluno = new HashMap<Integer, Aluno>();
mapeamentoDeAluno.put(a.getMatricula(), a);
}
public void entradaUsuario(){
int valorDigitadoInt = 0;
String valorDigitado = JOptionPane.showInputDialog(null,"Digita o número da Matricula","Entrada de dados",JOptionPane.DEFAULT_OPTION);
try {
valorDigitadoInt = Integer.parseInt(valorDigitado);
if(!mapeamentoDeAluno.containsKey(valorDigitado)){
throw new Exception();
}
System.out.println("-----Perfil do Aluno------");
System.out.println("Nome: "+mapeamentoDeAluno.get(valorDigitado).getNomeAluno());
System.out.println("Matricula: "+mapeamentoDeAluno.get(valorDigitado).getMatricula());
System.out.println("Nota: "+mapeamentoDeAluno.get(valorDigitado).getNota());
System.out.println();
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Não existe essa matricula","Erro",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
}
Programa
public class Programa {
public static void main(String[] args) {
UsandoHashMaps teste = new UsandoHashMaps();
Aluno a = new Aluno(1,"Jeison",9.0);
Aluno b = new Aluno(4,"Rafael",7.6);
teste.usandoHashMap(a.getMatricula(),a);
teste.usandoHashMap(b.getMatricula(),b);
teste.entradaUsuario();
}
}