gpt4 book ai didi

java - 如何分离二维数组中的不同值

转载 作者:行者123 更新时间:2023-12-02 09:25:28 25 4
gpt4 key购买 nike

该数组包含来自不同子类的对象。如何根据子类打印对象?

我使用扫描仪读取学生(研究生和本科生)对象并放入数组中。

我需要使用继承和 toString 方法来获取结果。

<小时/>

txt文件中的原始数据:

G 史蒂夫 23 生物学

U Julia 19 音乐长笛,年份:大二

G 大卫 25 数学

<小时/>

我能够读取和打印对象,但只能按原始顺序:

毕业生姓名:Steve,年龄:23​​,专业:生物学

本科生姓名:Julia,年龄:19,专业:音乐,年级:大二

毕业生姓名:Dvid,年龄:25,专业:数学

以下是我在测试器文件中使用的方法:

<小时/>
ArrayList<Student> studentList = new ArrayList<>();
Student s = new Undergraduate(type,name,age,major,year);
studentList.add(s);
Student s = new Graduate(type,name,age, major);
studentList.add(s);

for (Student d:studentList) {
System.out.println(d.toString());
}

===预期结果:===

本科生人数:1人

姓名:Julia,年龄:19,专业:音乐,年级:大二

<小时/>

研究生人数:2人

姓名:Steve,年龄:23​​,专业:生物学

姓名:Dvid,年龄:25,专业:数学

===

这是我的第一个问题。我对系统不熟悉。我试图让我的问题更容易阅读。抱歉,如果看起来很乱。

最佳答案

最简单的方法是创建两个单独的 ArrayList:一个用于本科生,一个用于研究生:

ArrayList<Student> undGrdStudentList = new ArrayList<>();
ArrayList<Student> grdStudentList = new ArrayList<>();
if ("U".equals(type)){
Student s = new Undergraduate(type,name,major);
undGrdStudentList.add(s);
}else{
Student s = new Graduate(type,name,major);
grdStudentList .add(s);
}

System.out.println("Number of Undergraduate Students: " + undGrdStudentList.size());
for (Student d:undGrdStudentList) {
System.out.println(d.toString());
}

System.out.println("Number of Graduate Students: " + grdStudentList .size());
for (Student d:grdStudentList ) {
System.out.println(d.toString());
}

类似的事情

关于java - 如何分离二维数组中的不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58371462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com