Java 无法打印整个阵列

Java 无法打印整个阵列,java,printing,arrayobject,Java,Printing,Arrayobject,我需要打印一个数组,但它只打印我最后输入的信息 这就是打印代码 for(int i=0; i<undergrad.length;i++){ if(undergrad[i]!=null){ System.out.println("Student Name : "+undergrad[i].getName()+"\n" + "Full Address : "+undergrad[i].getAddress()+"\n"

我需要打印一个数组,但它只打印我最后输入的信息

这就是打印代码

   for(int i=0; i<undergrad.length;i++){

        if(undergrad[i]!=null){
        System.out.println("Student Name : "+undergrad[i].getName()+"\n"
                + "Full Address : "+undergrad[i].getAddress()+"\n"
                + "Mobile No :"+undergrad[i].getPhone()+"\n"
                + "Number of Tests : "+undergrad[i].getTests()+"\n"
                + "GBA : "+undergrad[i].GBA()+"\n"
                + "Status : "+undergrad[i].computeGrade()+"\n"
                + "Internship : "+undergrad[i].getInternship()+"\n"
                + "Project Title : "+undergrad[i].getProject_Title()+"\n"
                + "Project Area : "+undergrad[i].getProject_Area()+"\n"
                + "Project Score : "+undergrad[i].computeProjectGrade()+"\n"
                + "****************************************\n");

        } 
    }

for(int i=0;i如果您说代码末尾的
break;
是整个代码工作所必需的,那么很明显您每次都在写入相同的数组索引(0)

修复程序的方法是删除当前拥有的
for
循环,而是跟踪外部循环中的索引
i
,该循环为用户提供一个选项菜单。然后,每次转到填充新学员的代码时,增加
i
变量


请记住,在真正的代码中,您永远不会遇到这个问题,因为您将使用一个自动处理这些问题的
列表。

您最后有一个
中断;

删除它,它应该可以工作。

本科生[i]
在这种情况下必须为
null
。共享代码如何在数组中添加对象。“但它只打印我输入的最后一个信息”=>,因为它的其余部分可能为null。老实说,我只需要使用
列表=新的ArrayList();
而不是数组。我们需要查看代码的其余部分,请看您是否确保程序在一次运行中向您询问了多个信息?是的,这就是为什么所有对象都是数组中的
null
,而不是第一个。当然。您在第一次运行时打破了
for
循环,而不是创建所有10个元素。您的answer意味着当OP指的是我最后输入的信息时,他实际上是指我输入的唯一信息。如果你在问题中改变了这一点,你会有一个完全不同的问题(而且是一个相当愚蠢的问题:如果这真的是个问题,OP会问“为什么我的程序只要求我一个学生?”)。因此,
中断;
很可能是错误的,并且不存在于引发此问题的程序中。在这种情况下,他需要重新构造代码以实际工作,这意味着他不需要for循环,他需要有do while循环,在该循环中他修改inp处第一个null元素的值ut.我终于理解了你的论点。是的,必须删除
for
循环,并在
while
循环(他已经有了)外部维护
I
索引。
for(int i=0; i<undergrad.length; i++){

    undergrad[i]=new Undergraduate();


    System.out.println("Enter Student Name: ");
    undergrad[i].setName(in.nextLine());

    System.out.println("Full Address  : ");
    undergrad[i].setAddress(in.nextLine());

    System.out.println("Mobile No : ");
    undergrad[i].setPhone(in.nextLong());

    System.out.println("Number of test : ");
     undergrad[i].setTests(in.nextInt());
    tests=undergrad[i].getTests();

    for(int j=0; j<tests; j++){
        System.out.println("Test "+(j+1)+":");
        undergrad[i].setScores(in.nextInt(), j);
    }

    System.out.println("Internship: ");
    undergrad[i].setInternship(in.nextBoolean());

    in.nextLine();
    System.out.println("Project title: ");
    undergrad[i].setProject_Title(in.nextLine());

    System.out.println("Project Area: ");
    undergrad[i].setProject_Area(in.nextLine());

    System.out.println("Supervisor Grade: ");
    undergrad[i].setGrade(in.nextInt(), 0);

    System.out.println("Committee Grade: ");
    undergrad[i].setGrade(in.nextInt(), 1);

    System.out.println("\n");

  break;  
}