如何在二维数组中分离不同的值-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

小六码奴 2019-10-14 17:09:44 250

该数组具有来自不同子类的对象。如何根据那里的子类打印对象?

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

我需要使用inheritance和toString方法来获取结果。 txt文件中的原始数据:

G史蒂夫23生物学

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

G大卫25数学

我只能按原始顺序读取和打印对象: 研究生姓名:史蒂夫(Steve),年龄:23​​岁,主修:生物学

本科名称:朱莉娅,年龄:19,主修:音乐,年份:大二

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

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

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

for (Student d:studentList) { System.out.println(d.toString()); } ===预期结果:===

本科生数:1

姓名:朱莉娅(Julia),年龄:19,主修:音乐,年份:大二

研究生人数:2

姓名:史蒂夫(Steve),年龄:23​​岁,专业:生物学

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

关系型数据库
分享到
取消 提交回答
全部回答(1)
  • 一码平川MACHEL
    2019-10-14 17:10:04

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

    ArrayList undGrdStudentList = new ArrayList<>(); ArrayList 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()); }

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题