Java can';不要在另一个类中设置值

Java can';不要在另一个类中设置值,java,object-oriented-analysis,Java,Object Oriented Analysis,这是一个类中的方法,courses是另一个类中的数组,我在main中设置了cn的值,但它跳过了后面的所有代码。为什么呢 public class GradeBook { Scanner r=new Scanner(System.in); private int cn; private Course courses[]=new Course[cn]; void entercourse(){ for(int i = 0;i<courses.le

这是一个类中的方法,courses是另一个类中的数组,我在main中设置了cn的值,但它跳过了后面的所有代码。为什么呢

public class GradeBook {
    Scanner r=new Scanner(System.in);
    private int cn;
    private Course courses[]=new Course[cn];
    void entercourse(){
         for(int i = 0;i<courses.length;i++){
             System.out.println("c name");
             courses[i].setName(r.nextLine());
             System.out.println("mark");
             courses[i].setMark(r.nextInt());
             courses[i].setpass();
         }
    }
公共班级成绩册{
扫描仪r=新的扫描仪(System.in);
私人互联网;
私人课程[]=新课程[cn];
无效课程(){

对于(int i=0;i,因为
int cn
变量默认为0。您需要在那里放置一些+ve值,以便它工作当您在方法之外声明数组时,您需要指定数组大小值。在您的程序中,您使用了整数cn。但是,您没有指定“cn”是什么实际上表示,因此默认情况下,它变为0。这就是为什么数组为空,而程序似乎跳过了代码。

我确实设置了一个值,但当指针到达setterIntercourse时,它说了一些关于指针的内容哈哈