2014-02-21 2 views
0

Я новичок как в перечислениях, так и в массивах ArrayLists, мне было поручено сделать программу для ответов на 15-й класс в тестах True или False. Моя программа работает отлично до тех пор, пока функция .get, где она помещает, не может найти ошибку символа. Я не знаю, почему вообще. Это как-то связано с использованием строки и моего типа перечисления вместе?ArrayList Get - error: не удается найти символ

public enum acceptedAnswer {T, F} 
public static void main(String[] args) 
{ 
    Scanner scan = new Scanner(System.in); 
    String answerKey = "TTTFFTFFFTFFTTF"; 
    String temp = ""; 
    String userChoice; 
    int numOfStudents = 0; 


    int maxScore = 0; 
    int maxId = 0; 
    int minScore = 15; 
    int minId = 0; 
    int sumOfScores = 0; 
    double average = 0.0; 

    System.out.print("Enter the amount of students tests to be graded: "); 
    numOfStudents = scan.nextInt(); 
    scan.nextLine(); 

    int[] score = new int[numOfStudents]; 
    acceptedAnswer[] answers = new acceptedAnswer[15]; 
    List student = new ArrayList(); 

     for (int j = 0; j < numOfStudents; j++) 
    { 
    for (int i = 0; i < 15; i++) 
     { 
      System.out.print("Enter the answer to question " + (i+1) + " for student " + (j+1) + ": "); 
      userChoice = scan.nextLine(); 
     answers[i] = acceptedAnswer.valueOf(userChoice); 
     temp += answers[i]; 
    } 
     System.out.println(); 
    student.add(temp); 
    temp = ""; 
    } 

    for (int i = 0; i < numOfStudents; i++) 
    { 
     for (int j = 0; j < 15; j++) 
     { 
     temp = answers.get(i); 
      if (temp.charAt(j) == answerKey.charAt(j)) 
       score[i] ++; 
     } 
      sumOfScores += score[i]; 
     } 
+2

'answers' - это массив, а не' ArrayList'. Используйте 'ответы [i]'. –

+0

post полная ошибка –

+1

Когда SO SO стал репетиторским сайтом? – jeremyjjbrown

ответ

0

Вы должны заменить

temp = answers.get(i); 

с

temp = answers[i]; 

, потому что ответы является массивом.

+0

Ahhh благодарит! – Johny

+0

Отличный .. если это трюк, то нажмите «Принятый ответ» :) спасибо – Sanjeev

0

Ответ: Массив не является ArrayList. Объявляем его как ArrayList или получить доступ к значениям путем прямого индекса как

temp = answers[i] 
Смежные вопросы