java - 如何用不同类的对象填充数组?详情如下
问题描述
“这个问题是针对我正在参加的免费在线课程的。下面是教师的指导,下面是我的答案。我一定是错误地解决了这个问题,因为即使我得到了正确的输出,自动评分系统也会将它标记为错误。我相信讲师希望我用 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;
}
}
解决方案
它说你需要对象和数组。所以我猜你想要这样的东西。
人.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());
}
}
推荐阅读
- python - 使用 sys.path.append 添加多个完整路径是否可以接受,或者是否有 Pythonic 方法来解决这个问题?
- python - 向 scipy.stats.rv_continuous 添加方法,rv_frozen 的问题
- google-analytics - 如何在 Google 数据洞察中获得辅助转化?
- wdk - DbgPrint 和 DbpPrintEx 在 WinDbg 和 DbgView 中不输出任何内容
- python - Sage maker notebook 中的 Athena 查询。如何获取输出文件的位置以实现可重用性?
- javascript - 材质 UI 文本字段中需要有条件
- c++ - 使用 openMP 在向量 c++ 对象上并行化循环
- azure-devops - 如何通过 Rest API 通过一个请求批量更新多个 Azure DevOps 工作项?
- r - 在R中仅将某些行从长转换为宽
- airflow - 带有 CeleryExecutor(RMQ 代理)任务的 Airflow 1.10.15 卡在排队状态