集合类 +Arraylist

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

Person类包含编号id(整型)、名字name(字符串)、性别gender(字符串)三个属性,和一个初始化对象所有属性的有参构造方法,一个将其信息转换为“id-name-gender”格式字符串的toString方法;

Family类具有地址address(字符串)和家庭成员(ArrayList)两个属性,和一个初始化家庭住址的有参构造方法,一个添加家庭成员的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.Iterator;
import java.util.Scanner;

public class Family {
    private String address;
    private ArrayList<Person> p=new ArrayList<Person>();

    public Family(String iniAddress){
        address=iniAddress;
    }

    public void addMember(){
        Scanner in=new Scanner(System.in);
        int i=0;
        do{
            i=in.nextInt();
            if(i==-1){
                break;
            }else{
                String n=in.next();
                String g=in.next();
                Person pe=new Person(i,n,g);
                p.add(pe);
            }
        }while(true);
    }

    public void print(){
        System.out.println(address);
        System.out.println(getSize());
        Iterator i=p.iterator();
        while (i.hasNext()){
            System.out.println(i.next());
        }
    }

    public int getSize() {
        return p.size();
    }

    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);

        String a=in.nextLine();
        Family f1=new Family(a);
        f1.addMember();
        String b=in.nextLine();
        Family f2=new Family(b);
        f2.addMember();
        f1.print();
        f2.print();
    }
}
public class Person {
    int ID;
    String Name;
    String Gender;

    public Person(int iniID,String iniName,String iniGender){
         ID=iniID;
         Name=iniName;
         Gender=iniGender;
    }

    public String toString(){
        return ID+"-"+Name+"-"+Gender;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值