1
import java.util.*;
public class DriverExam
{
    private String[] answers = {"B", "D", "A", "A", "C", "A", "B", "A", "C", "D", "B", "C", "D", "A", "D", "C", "C", "B", "D", "A"};
    private String[] input_validation = {"A", "B", "C", "D"};
    private String[] student_answers = new String[20];
    private int[] missed = new int[20];
    private int[] copy_missed;
    private boolean pass=true;
    private int number_missed = 0;
    Scanner kb = new Scanner(System.in);
    String input;

    private String input()
    {
        input = kb.nextLine();
        while(!(input.equalsIgnoreCase("A")||input.equalsIgnoreCase("B")||input.equalsIgnoreCase("C")||input.equalsIgnoreCase("D")))
        {
            System.out.print("Please enter either A, B, C or D: ");
            input = kb.nextLine();
        }
        return input;
    }

    public boolean passed(String[] student_answers)
    {
        int v=0;

        for(int i=0; i<answers.length; i++)
        {
            if(!(answers[i].equalsIgnoreCase(student_answers[i])))
            {
                number_missed++;
                missed[v]=i;
                v++;

            }

        }
        if(number_missed>5)
        {
            pass=false;
        }
        return pass;
    }

    public String[] setStudentAnswers()
    {
        int question = 1;
        for(int i=0; i<student_answers.length; i++)
        {
            System.out.print("Enter the answer for question "+ question + ": ");
            student_answers[i]=input();
            question++;
        }

        return student_answers;
    }

    public int totalCorrect()
    {
        int correct = 20 - number_missed;
        return correct;
    }

    public int totalIncorrect()
    {
        return number_missed;
    }

    public int[] questionsMissed()
    {
        int[] copy_missed = Arrays.copyOfRange(missed, 0, number_missed);   
        return copy_missed;
    }

}

より具体的には、メソッドでは、に関してエラーquestionsMissed()が発生し続けます。cannot find symbolArrays.copyOfRange

構文を確認しましたmissedが、でありint[]0intありnumber_missed、intであるという点で正しいようです。

なぜそれが機能しないのか、私は困惑しています。

4

2 に答える 2

0

jGRASPホームページには、最新バージョンの実行に必要なのはJDK 1.5のみであると記載されていますが、JDK1.6Arrays.copyOfRange()まで追加されていませんでした。1.5の配列のドキュメントにそのようなメソッドがないことを確認してください。jGRASPについては何も知りませんが、古いJDKを内部で実行しているだけだと思います。これは、そのメソッドが使用できないためにエラーが発生する可能性が非常に高いためです。

于 2013-03-04T04:43:25.860 に答える
0

JDK1.5以降では次を使用する必要があります

System.arraycopy()

それ以外の

Arrays.copyOfRange()
于 2013-03-04T04:53:20.397 に答える