我创建了一个具有年龄和姓名属性的人员类。我也在对象数组中创建了该类的5个实例,并希望使用for循环将属性打印出来。据我了解,当您尝试打印对象时,会显式调用toString,因此我覆盖了toString,以便在调用该对象时可以打印出该对象的两个属性。

这是我的代码:

class Person
{
    int age;
    String name;

    public Person(String name, int age)
    {
        this.age = age;
        this.name = name;
    }


    public String toString(Person p)
    {
        return "Name: " + p.name +"Age: "+ p.age;
    }
}


public class P1Q5Bubble {

public static void main(String[] args) {

        Person [] pp = new Person [5];

        pp[0] = new Person("Andy" , 18);
        pp[1] = new Person("Lisa" , 20);
        pp[2] = new Person("Bob" , 10);
        pp[3] = new Person("Eva" , 18);
        pp[4] = new Person("Tim" , 13);




        for(int i = 0; i> pp.length ; i++)
            System.out.println(pp[i]);
}

最佳答案

你需要改变两件事

1)在i > pp.lengthi < pp.length

2)toString()System.out.print中使用的System.out.println方法没有参数,因此请将其更改为类似

public String toString() {
    return "Name: " + name + "Age: " + age;
}

07-24 09:23
查看更多