定义一个类:团队(Team),该类中包含一些其它类的对象(教师,研究生,本科生等),为该类定义一个有参的构造方法及一些方法来描述团队的行为。

package Shiyan2;

public class Test3 {
    public static void main(String[] args) {

    Graduate graduate1 = new Graduate("张三",20,"男","研究生");
    Graduate graduate2 = new Graduate("张四",20,"男","研究生");

    Undergraduate undergraduate1 = new Undergraduate("李三",20,"男","本科生");
    Undergraduate undergraduate2 = new Undergraduate("李四",20,"男,","本科生");

    Teacher teacher1 =  new Teacher("王三",40,"男");
        Teacher teacher2 =  new Teacher("王四",40,"男");

    Team team1 = new Team("研究团队1",20,"图像处理");
    Team team2 = new Team("研究团队2",20,"自动导航");
    team1.tInTeam(teacher1);
    team2.tInTeam(teacher2);

    team1.GinTeam(graduate1);
    team2.GinTeam(graduate2);

    team1.UinTeam(undergraduate1);
    team2.UinTeam(undergraduate2);

    team1.Pri(team1);
    team2.Pri(team2);

    team1.GoutTeam(graduate1);
    team2.GoutTeam(graduate2);

    team1.Pri(team1);
    team2.Pri(team2);
    }
}

class Team {
    private String name;
    private int max;
    private Teacher teacher;
    private String className;
    private Undergraduate[] undergraduates;
    private Graduate[] graduates;

    public Team(String name,int max,String className){
        setName(name);
        setMax(max);
        setClassName(className);
        undergraduates = new Undergraduate[max / 2];
        graduates = new Graduate[max / 2];
    }

    public String getName() {
        return name;
    }

    public int getMax() {
        return max;
    }

    public Teacher getTeacher() {
        return teacher;
    }

    public String getClassName() {
        return className;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setMax(int max) {
        this.max = max;
    }

    public void setTeacher(Teacher teacher) {
        this.teacher = teacher;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    //老师加入团队
    public void tInTeam(Teacher teacher)
    {
        setTeacher(teacher);
        System.out.println("指导老师" + teacher.getName() + "成功加入" + getName());
    }
    //本科生加入团队
    public void UinTeam(Undergraduate undergraduate)
    {
        for(int i = 0;i < undergraduates.length;i++)
        {
            if(undergraduates[i] == (null))
            {
                undergraduates[i] = undergraduate;
                System.out.println("本科生" + undergraduate.getName() + "成功加入" + getName());
                break;
            }
            if(i == undergraduates.length - 1)
                System.out.println("该团队本科生名额已满");
        }
    }

    //研究生加入团队
    public void GinTeam(Graduate graduate)
    {
        for(int i = 0;i < graduates.length;i++)
        {
            if(graduates[i] == null)
            {
                graduates[i] = graduate;
                System.out.println("研究生" + graduate.getName() + "成功加入" + getName());
                break;
            }
            if(i == graduates.length - 1)
                System.out.println("该团队研究生名额已满");
        }
    }

    //本科生离开团队
    public void UoutTeam(Undergraduate undergraduate)
    {
        for(int i = 0;i < undergraduates.length;i++)
        {
            if(undergraduates[i].equals(undergraduate))
            {
                undergraduates[i] = null;
                System.out.println("本科生" + undergraduate.getName() + "成功离开" + getName());
                break;
            }
            if(i == undergraduates.length - 1)
                System.out.println("该团队本科生中并无此人");
        }
    }

    //研究生离开团队
    public void GoutTeam(Graduate graduate)
    {
        for(int i = 0;i < graduates.length;i++)
        {
            if(graduates[i].equals(graduate))
            {
                graduates[i] = null;
                System.out.println("研究生" + graduate.getName() + "成功离开" + getName());
                break;
            }
            if(i == graduates.length - 1)
                System.out.println("该团队研究生中并无此人");
        }
    }

    //老师离开团队
    public void tOutTeam(Teacher teacher)
    {
        setTeacher(null);
        System.out.println("指导老师" + teacher.getName() + "成功离开" + getName());
    }

    //输出团队信息
    public  void Pri(Team team)
    {
        System.out.println("团队名称:" + team.getName() + " 指导老师:" + getTeacher().getName() + " 课题名称:" + getClassName());
        System.out.println("研究生:");
        for(int i = 0;i < graduates.length;i++)
        {
            if(graduates[i] != null)
            System.out.printf(" " + graduates[i].getName());
        }
        System.out.println("\n" + "本科生:");
        for(int i = 0;i < undergraduates.length;i++)
        {
            if(undergraduates[i] != null)
                System.out.printf(" " + undergraduates[i].getName());
        }
        System.out.println("");
    }
}

class Teacher{
    private String name;
    private int age;
    private  String sex;

    public Teacher(String name,int age,String sex)
    {
        setName(name);
        setAge(age);
        setSex(sex);
    }
    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getSex() {
        return sex;
    }

}

class Undergraduate{
    private String name;
    private int age;
    private  String sex;
    private String eduBack;

    public Undergraduate(String name,int age,String sex,String eduBack)
    {
        setName(name);
        setAge(age);
        setSex(sex);
        setEduBack(eduBack);
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public void setEduBack(String eduBack) {
        this.eduBack = eduBack;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getSex() {
        return sex;
    }

    public String getEduBack() {
        return eduBack;
    }
}

class Graduate{
    private String name;
    private int age;
    private  String sex;
    private String eduBack;

    public Graduate(String name,int age,String sex,String eduBack)
    {
        setName(name);
        setAge(age);
        setSex(sex);
        setEduBack(eduBack);
    }
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getSex() {
        return sex;
    }

    public String getEduBack() {
        return eduBack;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public void setEduBack(String eduBack) {
        this.eduBack = eduBack;
    }
}

参照题目来选取学习生活中的实际事物来定义若干类。

package Shiyan2;

public class Test4 {
    public static void main(String[] args) {

        Student student1 = new Student("张三",20,"男","001");
        Student student2 = new Student("李四",20,"男","002");

        Student student3 = new Student("王五",20,"男","003");
        Student student4 = new Student("刘六",20,"男","004");

        Teacher teacher1 =  new Teacher("马七",40,"男");
        Teacher teacher2 =  new Teacher("马八",40,"男");
        
        Hotel hotel = new Hotel("坤坤酒店",1000);
        
        Room room1 = new Room("001","总统套房",1,100000);
        Room room2 = new Room("002","商务房",4,100);
        
        hotel.addRoom(room1);
        hotel.addRoom(room2);
        
        room1.tInRoom(teacher1);
        room1.tInRoom(teacher2);
        
        room2.sInRoom(student1);
        room2.sInRoom(student2);
        room2.sInRoom(student3);
        room2.sInRoom(student4);
        
        room1.pri();
        room2.pri();
}
}

    class Hotel{
    private String name;
    private int max;
    private Room[] rooms;

    public Hotel(String name,int max)
    {
    	setName(name);
    	setMax(max);
    	rooms = new Room[max];
    }

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getMax() {
		return max;
	}

	public void setMax(int max) {
		this.max = max;
	}

	public Room[] getRooms() {
		return rooms;
	}

	public void setRooms(Room[] rooms) {
		this.rooms = rooms;
	}
	
	//装修房间
	public void addRoom(Room room) {
		for(int i = 0;i < rooms.length;i++)
		{
			if(rooms[i] == null)
			{
				rooms[i] = room;
				System.out.println(room.getNum() + "装修成功");
				break;
			}
			if(i == rooms.length - 1)
				System.out.println("酒店空间已满");
		}
	}
}

class Room{
    private String num;
    private String name;
    private int max;
    private int price;
    private Teacher[] teachers;
    private Student[] students;

    public Room(String num,String name,int max,int price) {
    	setNum(num);
    	setMax(max);
    	setName(name);
    	setPrice(price);
    	setTeachers(new Teacher[max]);
    	setStudents(new Student[max]);
    }
    public String getNum() {
        return num;
    }

    public int getMax() {
        return max;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public void setMax(int max) {
        this.max = max;
    }

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getPrice() {
		return price;
	}

	public void setPrice(int price) {
		this.price = price;
	}
	public Teacher[] getTeachers() {
		return teachers;
	}
	public void setTeachers(Teacher[] teachers) {
		this.teachers = teachers;
	}
	public Student[] getStudents() {
		return students;
	}
	public void setStudents(Student[] students) {
		this.students = students;
	}
	
	
	//老师登记入住
	public void tInRoom(Teacher teacher) {
		for(int i = 0;i < teachers.length;i++)
		{
			if(teachers[i] == null)
			{
				teachers[i] = teacher;
				setMax(getMax() - 1);
				System.out.println("老师" + teacher.getName() + "成功入住" + this.getNum() + this.getName());
				break;
			}
			if(getMax() == 0)
			{
				System.out.println(this.getNum() + "房间已住满");
			}
		}
	}
	
	//学生登记入住
	public void sInRoom(Student student) {
		for(int i = 0;i < students.length;i++)
		{
			if(students[i] == null)
			{
				students[i] = student;
				System.out.println("学生" + student.getName() + "成功入住" + this.getNum() + this.getName());
				setMax(getMax() - 1);
				break;
			}
		}
		if(this.getMax() == 0)
		{
			System.out.println(this.getNum() + "房间已住满");
		} 
	}
	
	//老师退房
	public void tOutRoom(Teacher teacher) {
		for(int i = 0;i < teachers.length;i++)
		{
			if(teachers[i].equals(teacher))
			{
				teachers[i] = null;
				setMax(getMax() + 1);
				System.out.println("老师" + teacher.getName() + "成功退房" + this.getNum() + this.getName());
				break;
			}
			if(getMax() == 4)
			{
				System.out.println(this.getNum() + "房间已空");
			}
		}
	}
	
	//学生退房
	public void sOutRoom(Student student) {
		for(int i = 0;i < students.length;i++)
		{
			if(students[i].equals(student))
			{
				students[i] = null;
				System.out.println("学生" + student.getName() + "成功退房" + this.getNum() + this.getName());
				setMax(getMax() + 1);
				break;
			}
		}
		if(this.getMax() == 4)
		{
			System.out.println(this.getNum() + "房间已空");
		} 
	}
	
	//当前房间入住情况
	public void pri() {
		System.out.println(this.getNum() + "号房");
		System.out.println("学生:");
		for(int i = 0;i < students.length;i++)
		{
			if(students[i] != null)
			{
				System.out.printf(students[i].getName() + " ");
			}
			else
				break;
		}
		System.out.println("");
		
		System.out.println("老师:");
		for(int i = 0;i < teachers.length;i++)
		{
			if(teachers[i] != null)
			{
				System.out.printf(teachers[i].getName() + " ");
			}
			else
				break;
		}
		System.out.println("");
	}
}
    class Teacher1{
        private String name;
        private int age;
        private  String sex;

        public Teacher1(String name,int age,String sex)
        {
            setName(name);
            setAge(age);
            setSex(sex);
        }
        public void setName(String name) {
            this.name = name;
        }

        public void setAge(int age) {
            this.age = age;
        }

        public void setSex(String sex) {
            this.sex = sex;
        }

        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }

        public String getSex() {
            return sex;
        }

    }

    class Student{
        private String name;
        private int age;
        private  String sex;
        private  String num;

        public Student(String name,int age,String sex,String num)
        
        {
            setName(name);
            setAge(age);
            setSex(sex);
            setNum(num);
        }
        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }

        public String getSex() {
            return sex;
        }

        public String getNum() {
            return num;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setAge(int age) {
            this.age = age;
        }

        public void setSex(String sex) {
            this.sex = sex;
        }

        public void setNum(String num) {
            this.num = num;
        }
}
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值