Java调用Arrays.copyOfRange时出现“找不到符号”错误

Java调用Arrays.copyOfRange时出现“找不到符号”错误,java,arrays,Java,Arrays,更具体地说,在questionsMissed方法中,当涉及Arrays.copyOfRange时,我不断得到找不到符号错误 我已经检查了语法,我似乎是正确的,missed是int[],0是int,number_missed也是int 我不明白为什么它不起作用。jGRASP主页声明,最新版本只需要运行JDK 1.5,而直到JDK 1.6才添加。我们可以看到,世界上没有任何这样的方法。我对jGRASP一无所知,但我猜您只是在幕后运行一个旧的JDK,因为这个错误很明显是因为该方法不可用。在JDK 1.

更具体地说,在questionsMissed方法中,当涉及Arrays.copyOfRange时,我不断得到找不到符号错误

我已经检查了语法,我似乎是正确的,missed是int[],0是int,number_missed也是int


我不明白为什么它不起作用。

jGRASP主页声明,最新版本只需要运行JDK 1.5,而直到JDK 1.6才添加。我们可以看到,世界上没有任何这样的方法。我对jGRASP一无所知,但我猜您只是在幕后运行一个旧的JDK,因为这个错误很明显是因为该方法不可用。

在JDK 1.5+中,您应该使用

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;
    }

}
而不是

System.arraycopy()

您使用的是什么版本的jdk?copyOfRange适用于1.5+。如果使用<1,请尝试使用System.arraycopy、int、java.lang.Object、int、int。5@OwerFlov我使用的是jGrasp版本1.8.823。那应该有用,对吗?它说它是最新的。@RyanStewart DriverExam.java:83:找不到符号:方法copyOfRangeint[],int,int位置:class java.util.Arrays int[]copy\u missed=Arrays.copyOfRangemissed,0,number\u missed;^1错误箭头位于阵列点的正下方。copyOfRange@gjvatsalya-从命令行运行javac-version并将打印出来的版本信息添加到您的问题中。是的,您是对的。我跑1.5分。你知道怎么更新吗?我现在已经修好了。谢谢你的帮助,好的。非常感谢你!
Arrays.copyOfRange()