Java - 如何创建不同类的数组并通过调用其toString方法进行迭代?

时间:2017-10-05 02:17:21

标签: java

我有一个Person类,其中包含字段" name"和" phoneNumber"通过构造函数设置的。我正在尝试创建一个单独的测试类,它将创建一个Person数组,并通过调用它们的toString()方法迭代它们。 我不知道该怎么做,感谢任何帮助。

这是我到目前为止的第一堂课;

public class Person
{
    private String name;
    private String phoneNumber;

    public Person(String name, String phoneNumber)
    {
        this.name = name;
        this.phoneNumber = phoneNumber;
    }
    public String getName()
    {
        return name;
    }
    public String getNumber()
    {
        return phoneNumber;
    }
    public String getPerson()
    {
        return name + " " + phoneNumber;
    }
    @Override
    public String toString()
    {
        return "["+getPerson()+"]";
    }
}

2 个答案:

答案 0 :(得分:0)

希望这会有所帮助,

public class Test {

    public static void main(String[] args) {

        Person array[] = {new Person("Jason", "123456"), new Person("Karl", "78945"), new Person("Tom", "789456")};

        for(int i = 0; i < array.length; i++){
            array[i].toString();
            //System.out.println(array[i].toString());
        }
    }

}

class Person
{
    private String name;
    private String phoneNumber;

    public Person(String name, String phoneNumber)
    {
        this.name = name;
        this.phoneNumber = phoneNumber;
    }
    public String getName()
    {
        return name;
    }
    public String getNumber()
    {
        return phoneNumber;
    }
    public String getPerson()
    {
        return name + " " + phoneNumber;
    }
    @Override
    public String toString()
    {
        return "["+getPerson()+"]";
    }
}

将文件另存为Test.java

答案 1 :(得分:-1)

首先,toString方法用于INDIVIDUAL Person对象,并且不能应用于整个集合,您需要使该方法静态并在类中定义一个完整的静态数组,以便能够遍历所有的实例。人类。

private static Person[] pArray = new Person[20]; 
//I picked 20 randomly, if you want any possible number use an arrayList<Person> 

private static int count = 0;

在构造函数

pArray[count] = this;
count++;

然后你的toString方法:

String list = "[";
for(Person p : this.pArray)
   list = list + p.getPerson() + " ,"
list = list + "]";
return list;