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;
}