Scanner kb = new Scanner(System.in);
student [] s =new student[100];
int index = 0;
for(int i=0;i<100;i++){
System.out.println("Do you want to add new student \n \t if not enter (n) or (N) to exit ");
String id=kb.next();
if(id.equals("n") || id.equals("N")){
System.exit(0);
}
else {
for(int q = 1; q<4;q++){
System.out.println("Enter Quiz "+q+" score");
double score=kb.nextInt();
s[i].addQuiz(score);
}
}
addStudent(s , i , id );
}
}
public void addStudent(student[] old, int index , String id){
old [index]= new student(id);
}
java在添加学生方法调用时给我错误 如果我的阵列传递是正确的,我也不会不相信:(
答案 0 :(得分:0)
那是因为你的变量i超出了for循环的范围。因此,在关闭for循环之前添加此语句addStudent(s , i , id );
。
另外我相信你从main方法调用addStudent是静态的并且调用非静态方法,在这种情况下将方法定义更改为:
public static void addStudent(student[] old, int index, String id) {
这应该有用。