Java调用Arrays.copyOfRange时出现“找不到符号”错误
更具体地说,在questionsMissed方法中,当涉及Arrays.copyOfRange时,我不断得到找不到符号错误 我已经检查了语法,我似乎是正确的,missed是int[],0是int,number_missed也是intJava调用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.
我不明白为什么它不起作用。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()