Olá a todos, comecei Java há pouco tempo pois é meu primeiro período da faculdade, portanto, vocês irão me ver com frequência.
A questão: Se trata de um corretor de provas múltipla escolha (a, b, c, d ou e), primeiro eu devo entrar com o gabarito da prova (eu usei um vetor para guardar isso), depois entrar com o números de alunos da turma, em seguida, o cartão resposta de cada aluno com seu número e suas respostas (para isso usei um laço “for” até atingir o número máximo de alunos, guardando as respostas de cada aluno em um vetor que é objeto de um HashMap, logo a key seria o número do aluno).
Minha dúvida: Conseguir comparar um elemento do vetor onde guardei o gabarito com um elemento em específico do vetor onde estão guardadas as respostas dos alunos, (lembrando que cada aluno tem um vetor e que cada key refere-se a um aluno diferente).
Ps: Um dos monitores me aconselhou a não usar HashMap para problemas como esse, mas eu achei ser um processo muito intuitivo, se possível alguém poderia dizer porque esse método não é aconselhado em problemas como esse? Desde já obrigado!
Segue o código abaixo (a partir do main):
public static void main(String[] args) {
Scanner recebe = new Scanner(System.in);
String[] gabarito = new String[10];
String[] resposta = new String[10];
HashMap<Integer, String[]> respostas = new HashMap<>();
int qnt_turma, acertos = 0;
System.out.println("Informe o cartão gabarito da prova na sequência de 1 a 10: ");
for (int i = 0; i < gabarito.length; i++) {
gabarito[i] = recebe.next();
}
System.out.println("Qual o número de alunos da turma?");
qnt_turma = recebe.nextInt();
for (int j = 1; j <= qnt_turma; j++) {
System.out.println("Informe o cartão resposta do " + j + "º aluno: ");
for (int i = 0; i < resposta.length; i++) {
resposta[i] = recebe.next();
}
respostas.put(j, resposta);
}
for (int j = 1; j <= qnt_turma; j++) {
for (int i = 0; i < resposta.length; i++) {
/*aqui é minha dúvida, conseguir comparar um objeto do vetor gabarito[i]
com um objeto específico do vetor resposta, que está dentro de do HashMap respostas */
if (/* ??????? */) {
acertos += 1;
}
}
System.out.println("O aluno " + j + " acertou: " + acertos + " questões.");
}
}