以家谱关系为主以呈现台词为辅(新手课程作业)拜托了
2条回答 默认 最新
关注 import java.util.ArrayList; import java.util.List; public class HelpOther { public static void main(String[] args) { List<List<Person>> homeList=makeHomeList(); //调用祺瑞丰 for(int j=0;j<homeList.size();j++){ List<Person> persons=homeList.get(j); for(int i=0;i<persons.size();i++){ if(persons.get(i).name.equals("祁瑞丰")){ System.out.println(persons.get(i).word); } } } //打印四代人物 for(int j=0;j<homeList.size();j++){ List<Person> persons=homeList.get(j); System.out.println("第"+(j+1)+"代人为:"); for (int i=0;i<persons.size();i++){ System.out.println(persons.get(i).name); } } } /** * 家谱生成 * @return 返回一个二维家谱链表,存储结构如下: * */ public static List<List<Person>> makeHomeList(){ List<List<Person>> homeList=new ArrayList<>(); //新建家族所有人实例和构建关系 Person qiyeye= new Person("祁爷爷","我是祁爷爷",null,null); Person qitiany= new Person("祁天佑","我是祁天佑",qiyeye,null); Person tianyouqi=new Person("天佑妻","我是天佑妻",null,null); Person yunmei=new Person("韵梅","我是韵梅",null,null); Person qiruixuan=new Person("祁瑞宣","我是祁瑞宣",qitiany,tianyouqi); Person qiruifeng=new Person("祁瑞丰","我是祁瑞丰",qitiany,tianyouqi); Person lijuzi=new Person("李菊子","我是李菊子",null,null); Person qiduiquan=new Person("祁瑞全","我是祁瑞全",qitiany,tianyouqi); Person niuzi=new Person("妞子","我是妞子",qiruixuan,yunmei); Person shuner=new Person("顺儿","我是顺儿",qiruixuan,yunmei); qitiany.halfOther=tianyouqi; tianyouqi.halfOther=qitiany; yunmei.halfOther=qiruixuan; qiruixuan.halfOther=yunmei; qiruifeng.halfOther=lijuzi; lijuzi.halfOther=qiruifeng; //给家谱列表赋值 for(int i=0;i<4;i++){ List<Person> persons=new ArrayList<>(); //望家谱上添加第一代人物 if(i==0){ persons.add(qiyeye); homeList.add(persons); } //望家谱上添加第二代 if(i==1){ persons.add(qitiany); persons.add(tianyouqi); homeList.add(persons); } //望家谱上添加第三代 if(i==2){ persons.add(yunmei); persons.add(qiruixuan); persons.add(qiruifeng); persons.add(lijuzi); persons.add(qiduiquan); homeList.add(persons); } //望家谱上添加第四代 if(i==3){ persons.add(niuzi); persons.add(shuner); homeList.add(persons); } } return homeList; } } class Person{ //父亲 Person father; //母亲 Person mother; //姓名 String name; //台词 String word; //配偶 Person halfOther; public Person(String name,String word,Person father,Person mother){ this.name=name; this.word=word; this.father=father; this.mother=mother; } }
如有帮助望采纳哈哈
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程