首页 > 解决方案 > 如何用不同类的对象填充数组?详情如下

问题描述

“这个问题是针对我正在参加的免费在线课程的。下面是教师的指导,下面是我的答案。我一定是错误地解决了这个问题,因为即使我得到了正确的输出,自动评分系统也会将它标记为错误。我相信讲师希望我用 person 类中的对象填充 Main 类中的一个数组,我不确定该怎么做。如果您知道如何做到这一点,或者您对讲师想要什么有更好的了解,请提供帮助。

导师指导

在您的 main 方法中,创建一个 Person 类型的数组,用以下人员的 Person 对象填充它,然后打印该数组中每个人的名称。每个人都应该在自己的行上,格式如下所示。

弗雷德,24 岁

萨莉,26 岁

比利,15 岁


main.java

class Main {

    public static Person[] people;

    public static void main(String[] args) {

       Person personObject = new Person();

       personObject.Person();

    }
}

人.java

public class Person{

    public static String[] Person(){

        String[] people = {"Fred, 24", "Sally, 26", "Billy, 15"};

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

        return people;
    }
}

标签: javaarrays

解决方案


它说你需要对象和数组。所以我猜你想要这样的东西。

人.java

public class Person {
private String name;
private int age;



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

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

@Override
public String toString() {
    return "Person{" + "name=" + name + ", age=" + age + '}';
}
}

通过声明Person p1 = new Person("Sally",26);您正在创建类 Person 的对象。您可以根据需要多次使用它并创建不同的对象。我们使用覆盖方法 toString 来打印有关 Person 的信息。我们也可以使用p1.getName()p1.getAge()

主要的

public static void main(String[] args) {



    Person p1 = new Person("Fred", 24);
    Person p2 = new Person("Sally", 26);
    Person p3 = new Person("Billy", 55);

    Person[] people = {p1,p2,p3};

    for(Person p : people){
        System.out.println(p.toString());
    }
}

推荐阅读