调用方法时出错了

时间:2014-11-28 13:03:14

标签: java arrays object methods

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在添加学生方法调用时给我错误 如果我的阵列传递是正确的,我也不会不相信:(

1 个答案:

答案 0 :(得分:0)

那是因为你的变量i超出了for循环的范围。因此,在关闭for循环之前添加此语句addStudent(s , i , id );

另外我相信你从main方法调用addStudent是静态的并且调用非静态方法,在这种情况下将方法定义更改为:

public static void addStudent(student[] old, int index, String id) {

这应该有用。