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;
}
}