Comparação de dados de vetores

Fala galera, estou iniciando na programação e aprendendo sobre Java, estou com muitas dificuldades em vetores e matriz. Alguém pode me ajudar a realizar essa questão? Não sei como fazer a letra A e nem B. Segue a questão:

  1. Faça um programa para corrigir provas de múltipla escolha. Cada prova tem oito questões e cada questão vale um ponto. O primeiro conjunto de dados a ser lido do usuário é o gabarito da prova. Os outros dados são os números dos alunos e as respostas que deram às questões. Existem dez alunos matriculados. Calcule e mostre:

a. O número e a nota de cada aluno;
b. A porcentagem de aprovação, sabendo-se que a nota mínima é 6

String gabarito[] = new String [8];
String respostas[] = new String [8];
int quest = 1;
Scanner sc = new Scanner(System.in);
//Inserir gabarito
System.out.println("Digite o gabarito da prova: ");
for(int n = 0; n < 8; n++){
System.out.print(quest + " - ");
gabarito[n] = sc.nextLine();
quest++;
}
//Inserir nota de 10 alunos
for(int i =0; i < 10; i++){
quest = 1;

    System.out.println("Aluno " + (i+1) + ", digite as respostas da prova: ");
    for(int n = 0; n < 8; n++){
        System.out.print("Questão " + quest + " = ");
        gabarito[n] = sc.nextLine();
        quest++;
    }
}