面向对象练习

题目要求:

  

定义一个自定义类 类名是(Member)
定义一个测试类App,在该类中定义一个数组 Member members[]
将学生添加进Member数组 编写方法随机抽取Member,并将该Member的所有属性输出

    public static void main(String[] arge){
        //定义一个集合
        ArrayList<Member> members=new ArrayList<>();
        
        //实例化Member
        Scanner a = new Scanner(System.in);
        
        //做一个while死循环
        boolean flag = true;

        while(flag){
            System.out.println("请选择: \n 1.新增人员 \n 2.随机显示 \n 3.结束操作");
            int num = a.nextInt();
            
            switch(num){
            case 1: //新增人员:将Member添加进Member数组
                Member mem = new Member();
                mem.getMember();
                members.add(mem);
                break;
                
            case 2: //随机显示:随机抽取Member并显示
                getRandomMember(members);
                break;
                
            case 3:    //结束操作:停止循环
                flag = false;
                break;
                
            default:
                System.out.println("输入错误\n");
                
            }
        }
    }
    
    //编写方法随机抽取
    public static void getRandomMember(ArrayList<Member> members) {
        int random = new Random().nextInt(members.size());
        System.out.println(members.get(random));
    }
}

//Member类
class Member{
    //定义变量
        String name;
        int id;
        int age;
        
    //取得值
    public void getMember(){
        Scanner a = new Scanner(System.in);
        
        System.out.println("请输入名字:");
        name = a.nextLine();
        System.out.println("请输入ID:");
        id = a.nextInt();
        System.out.println("请输入年龄:");
        age = a.nextInt();
    }
    
    //重写toString()用于打印member(ArrayList)的元素
    @Override
    public String toString() {
        return "name是" + name + "\nid是" + id + "\nage是" + age + "\n" ;
    }
}

 

posted on 2019-04-16 08:06  萌萌手好冷  阅读(148)  评论(0编辑  收藏  举报