Array

[code]import java.util.Scanner;

public class array {

/**
 * @param args
 */
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String []texto = new String [5];
String []resposta = new String [5];
String aluno;
int nota=0,cont=0,op;
float media;
System.out.println("Digite o nome do Aluno: ");
aluno = input.next();
do{
     System.out.print("                      Digite uma das opções abaixo\n");
     System.out.println();
     System.out.println("1 - Calcular nota de aluno");
     System.out.println("2 - Nome de outro aluno a ser avaliado");
     System.out.println("3 - Nº de questões");
     System.out.println("4 - Sair");
     op = input.nextInt();
     if ((op<0)||(op>4)){
    	 System.out.print("Opção Inválida! Digite novamente: ");
		 op = input.nextInt();
     }
     System.out.println();
     if (op == 1){
     
      System.out.println("Digite o gabarito da prova: ");
         for (int i=0;i<texto.length;i++){
	       System.out.printf("%dª Questão: ", i+1);
	       texto[i]= input.next();
	     }
        System.out.println();

        System.out.println("Digite as questões marcadas pelo aluno: ");
	          for (int j=0;j<resposta.length;j++){
	      System.out.printf("%dª Questão: ", j+1);
	      resposta[j]= input.next();
	  }
	  System.out.println();
	  
         if (texto[0].equals(resposta[0])){
        	nota = 2;
        	cont++;
          	}
         if (texto[1].equals(resposta[1])){
        	nota += 2;	
        	cont++;
         }
         
         if (texto[2].equals(resposta[2])){
	        	nota += 2;	
	        	cont++; 
	         }
	         
         if (texto[3].equals(resposta[3])){
	        	nota += 2;	
	        	cont++;
	         }
	         
         if (texto[4].equals(resposta[4])){
	        	nota += 2;	
	        	cont++;
	         }
         
	         media=nota/cont;
               
   
     System.out.printf("O Aluno: %s \n Acertou: %d questões \n e sua média é: %.2f",aluno,nota,media);
     }
     if (op==2){
    	 aluno = input.next();
    	
     }
     System.out.println();
}while(op!=0);
System.out.println("Programa Finalizado");
}

}
// TODO Auto-generated method stub
[/code]

Seguinte tenho que criar um arquivo com gabarito e notas de avaliação de alunos. Criar e grava eu sei. Cada questão de 1 a 10 possui com respostas (gabarito de “a” à “e”). Cada questão vale 2 pontos. No final será feito o somatório de questões acertadas e a média. Meu questionamento é:
1 - Como fazer ser o usuário digitar outro nome para ser avaliado;
2 - Deixar o usuário determinar o número de questões (gabarito e resposta);
3 - Informar quantas e quais questões acertou e quais e quantas questões errou;

Obrigado

1 - O que a regra de negócios diz sobre tal situação?
2 - Declare duas variáveis cujos valores serão informados pelo usuário, ao invés de manter em hardcode.
3 - Laços de repetição e estruturas de desvio condicional podem resolver facilmente o problema.

Respondendo a pergunta do colega, não é para nenhuma aplicação. Eu só queria saber de duas coisas: caso eu queira que o usuário digite um nº aleatório de perguntas e respostas (ele determinaria o tamanho dos dois array) e assim compará-los (como esta no código acima) e minha dúvida maior (“Laços de repetição e estruturas de desvio condicional podem resolver facilmente o problema”) como eu faço isso?

Você já estudou algoritmos? Se não, é uma boa hora.
Pode ir diretamente para laços de repetição e estruturas de desvio condicional. Mesmo por que o código postado já contempla os mesmos.