如何创建一个对象数组?

时间:2014-05-22 17:41:58

标签: java arrays object

我的问题是:

创建一个包含学生姓名,代码,地址,电子邮件和电话的学生。从main方法为批处理创建一个Student对象数组并打印它。请注意,main应该在不同的类中。

我创建了两个学生对象,但我不知道如何将它添加到数组中。

public class Student {

    String name;
    int rollNum;
    String address;
    String email;
    int phoneNum;

}

public class TestClass {

    public static void main(String[] args){
        Student[] student=new Student[2];
        Student student1=new Student();
        Student student2=new Student();
        student1.name="Pooja";
        student1.rollNum=9164086;
        student1.address="Chennai";
        student1.email="poojasingh@gmail.com";
        student1.phoneNum=232732;
        student2.name="Smriti";
        student2.rollNum=9159999;
        student2.address="Lucknow";
        student2.email="angel.smriti@gmail.com";
        student2.phoneNum=232735;
        student[0]=student1;
        student[1]=student2;
        System.out.print("{");
        for(int i=0;i<student.length;i++){
            if(i>0){
                System.out.print(",");
            }
            System.out.print(student[i]);
        }
        System.out.print("}");
    }
}

2 个答案:

答案 0 :(得分:0)

您已将Student个对象添加到数组student。如果问题是您没有得到预期的输出,原因是因为它们是对象,您必须覆盖 toString类中的Student方法:< / p>

@Override
public String toString() {
    return name;  // for example
}

您应该返回显示有关该对象的相关信息的String。上面的方法只是一个例子,所以你可能想要改变它。

答案 1 :(得分:0)

您已在数组中添加了student1student2,问题是您无法打印对象,除非它覆盖方法:toString。但只需这样做:

System.out.println(student[i].name + ", " + student[i].rollNum + ", " + student[i].address + ", " + student[i].email + ", " + student[i].phoneNum);

从for循环中删除if (i>0) {...}

或者如果你想覆盖 toString,只需将这段代码添加到Student类中:

@Override
public String toString() {
    return name + ", " + rollNum + ", " + address + ", " + email + ", " + phoneNum;
}

主要用途:

for(int i = 0; i < student.lenght; i++) {
    System.out.println(student[i]);
}