题目内容:

创建一个Person类和一个Family类。其中,

Person类包含编号id(整型)、名字name(字符串)、性别gender(字符串)三个属性,和一个初始化对象所有属性的有参构造方法,一个将其信息转换为“id-name-gender”格式字符串的toString方法;Family类具有地址address(字符串)和家庭成员(ArrayList<Person>)两个属性,和一个初始化家庭住址的有参构造方法,一个添加家庭成员的addMember方法,和一个输出家庭信息的print方法。输出家庭信息的格式为,第一行为家庭住址,第二行为家庭成员数量,第三行开始每一行是一位家庭成员的信息,以“id-name-gender”格式显示。

编写测试类Main。创建两个家庭,并向其中添加家庭成员,以id为-1表示家庭成员录入结束。所有家庭信息录入结束后,调用Family对象的print方法依次输出每个家庭的信息。

输入格式:

每行依次输入家庭住址,每个家庭成员的编号、性能和性别。编号输入-1时,表示当前家庭的成员输入结束。

输出格式:

依次输出每个家庭的信息,第一行为家庭住址,第二行为家庭成员数量,第三行开始以“id-name-gender”格式显示当前家庭每个成员的信息。按照这种方式循环输出每个家庭的信息。

输入样例:

nanhu 123

1

betty

female

-1

chuangxin road 123

1

mike

male

2

bob

male

-1

输出样例:

nanhu 123

1

1-betty-female

chuangxin road 123

2

1-mike-male

2-bob-male

import java.util.ArrayList;
import java.util.Scanner;class Person
{private int id;private String name;private String gender;Person(int iniId,String iniName,String iniGender){id=iniId;name=iniName;gender=iniGender;}public String toString() {return id+"-"+name+"-"+gender;}}class Family
{private String address;private ArrayList<Person> family=new ArrayList<Person>();public Family(String iniFamily) {address=iniFamily;}public void addMember(int iniId,String iniName,String iniGender) {Person a=new Person(iniId, iniName, iniGender);family.add(a);}public void print(){System.out.println(address);System.out.println(family.size());for(Person x:family){System.out.println(x.toString());}}}
public class Main {public static void main(String[] args) {Scanner in=new Scanner(System.in);Family a=new Family(in.nextLine());int id=Integer.parseInt(in.nextLine());if(id==-1){}else{while(true){String name=in.nextLine();String gender=in.nextLine();a.addMember(id,name,gender);int decision=Integer.parseInt(in.nextLine());if(decision==-1){break;}else{id=decision;}}}Family b=new Family(in.nextLine());id=Integer.parseInt(in.nextLine());if(id==-1){}else{while(true){String name=in.nextLine();String gender=in.nextLine();b.addMember(id,name,gender);int decision=Integer.parseInt(in.nextLine());if(decision==-1){break;}else{id=decision;}}}a.print();b.print();in.close();}}

《JAVA练习题目9》 创建一个Person类和一个Family类。(这次的OJ实在写的没有状态,被样例搞崩了,这次代码还有好多代码复制等一系列不良现象,就是为了过OJ写的。。大家凑活看一下吧)相关推荐

  1. 基于java的智能化停车系统ER图_终稿毕业设计基于jvw日语停车管理系统毕业设计论文.docOK版(样例3)...

    <[毕业设计]基于jvw日语停车管理系统毕业设计论文.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)[毕业设计]基于jvw日语停车管理系统毕业设计论文.doc(OK版)&g ...

  2. java中父类创建子类的语法_Java 语言中,所创建的子类都应有一个父类。( )_学小易找答案...

    [判断题]一个类可以实现多个接口,接口可以实现"多重继承". ( ) [简答题]报价议价环节话术 [单选题]定义一个公有double型常量PI,哪一条语句最好?( ) [论述题]展 ...

  3. 6-3 按要求编写一个类Car,练习类的定义。

    编写一个类Car,根据程序需求,编写Car类的构造方法和方法.要求如下: 成员变量:carNumber,只能在Car类内访问. 方法: setCarNumber方法:设置车牌号 重写toString方 ...

  4. Java 8 时间日期库的20个使用演示样例

    除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务演示样例来学习怎样使用Java 8的这套API.Java对日 ...

  5. 《快学Scala》第14章——模式匹配和样例类 学习笔记

    Scala有一个十分强大的模式匹配机制,可以应用在很多场合:switch语句.类型查询,以及"析构"(获取复杂表达式中的不同部分).除此之外,Scala还提供了样例类,对模式匹配进 ...

  6. 想说说关于在刷题网站(牛客 、C语言网、力扣)上测试样例过了但是OJ判错这档子事

    目录 1.话题引入 2.在刷题过程中一些自己想说的 3.刷题时的一些小建议 4.个人感悟 1.话题引入 首先介绍一下我自己,本人是一名专科大一的学生:非计算机本专业:因为想拓宽自己的知识面和技术:于是 ...

  7. OpenHarmony 3.1 Beta 样例:使用分布式菜单创建点餐神器

    (以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 刘丽红 随着社会的进步与发展,科技手段的推陈出新,餐饮行业也在寻求新的突破与变革,手机扫描二维码点餐系统已经成为餐饮行 ...

  8. java定义三角类_Java先创建一个point类然后定义trianglete类,在trianglete类中定义三个point的实体表示三角形的三个点。...

    Java先创建一个point类然后定义trianglete类,在trianglete类中定义三个point的实体表示三角形的三个点. 关注:197  答案:1  mip版 解决时间 2021-01-3 ...

  9. 《JAVA练习题目7》 定义一个素数生成器类PrimeGenerator,用于生成给定区间内的所有素数。(类PrimeGenerator都由类Main代替)

    题目内容: 定义一个素数生成器类PrimeGenerator,用于生成给定区间内的所有素数.要求PrimeGenerator类具有: 属性:start(区间起始值),end(区间终止值),两个属性均为 ...

最新文章

  1. 使用VS2005进行代码覆盖率分析
  2. python中使用squarify包可视化treemap图:使用treemap图可视化个人或者集体的股票、基金的持仓结构(treemap with squarify package)
  3. Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
  4. 初探WCF 如何在配置文件中指定Address?
  5. IDEA常用快捷键整理20191105
  6. 算法设计与分析——分支限界法——装载问题
  7. oracle 授权 增删改查权限_Oracle增删改查与函数
  8. VCSA6.7 备份和还原
  9. 每天一个linux命令(55)--at命令
  10. 图片处理--冰冻特效
  11. python中in,not in,比较运算符,格式化输出,编码
  12. 主干网络系列(4) -ResNeXt: 批量残差网络-作用于深度神经网络的残差聚集变换
  13. Codeforces Round #339 (Div. 1) C. Necklace 构造题
  14. 高一计算机教学,高一信息技术教学计划参考
  15. Cisco Visio Stencil 实体图标下载
  16. Ubuntu基本使用指南
  17. 东小店南少:让你终身收益的三个营销思维,看完不再迷茫!
  18. 结构体自定义指针函数c语言,C语言结构体指针在函数调用中的使用
  19. 努力学Java挣小钱钱
  20. html5 图形组件,数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇

热门文章

  1. ubuntu16.04 安装微信和qq
  2. java timer记录运行时间_有关java定时器Timer的疑问,当执行时间大于间隔时间会怎样?...
  3. paddle版fnet_google
  4. 安装debian总结以及编译linux内核
  5. 如何用node命令和webpack命令传递参数 转载
  6. python3-泊松分布
  7. PECL 和 PEAR 有什么区别?
  8. 微信支付的坑 返回值 -1
  9. 《切入口web教学——使用firebug调试css代码》录制完成
  10. 转:不是技术牛人,如何拿到国内IT巨头的Offer