問題描述:定義一個類:團隊(Team),該類中包含一些其它類的物件(教師,研究生,本科生等),為該類定義一個有參的構造方法及一些方法來描述團隊的行為,
代碼實作如下:
Team類(團隊,團隊中包括教師,研究生,本科生):
package experiment2;
public class Team {
private String name;//團隊名稱
private int max;//團隊人數
private String pName;//專案名稱
private Teacher teacher;//指導老師
private GraduateStudent[] gStudents;//研究生陣列
private UnderGStudent[] uGStudents; //本科生陣列
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Teacher getTeacher() {
return teacher;
}
public void setMax(int max) {
this.max = max;
}
public int getMax() {
return max;
}
public String getpName() {
return pName;
}
public void setpName(String pName) {
this.pName = pName;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
public GraduateStudent[] getgStudents() {
return gStudents;
}
public void setgStudents(GraduateStudent[] gStudents) {
this.gStudents = gStudents;
}
public UnderGStudent[] getuGStudents() {
return uGStudents;
}
public void setuGStudenst(UnderGStudent[] uGStudents) {
this.uGStudents = uGStudents;
}
public Team(String name,int max,String pName) {
this.setpName(pName);
this.setName(name);
this.setMax(max);
gStudents = new GraduateStudent[max/2];
uGStudents = new UnderGStudent[max-max/2];
}
//指導老師加入團隊
public void tInTeam(Teacher tTeacher){
teacher = tTeacher;
System.out.println("指導老師" + teacher.getName() + "成功加入" + getName()+"團隊" );
}
//研究生加入團隊
public void gSInTeam(GraduateStudent gStudent){
for(int i=0;i<gStudents.length;i++) {
if(gStudents[i]==null) {
gStudents[i]=gStudent;
System.out.println("研究生" + gStudent.getName() + "成功加入" + getName()+"團隊" );
break;
}
if(i==gStudents.length-1) {
System.out.println( "研究生" + gStudent.getName() + "加入失敗," +getName()+"團隊研究生組已滿員");
}
}
}
//本科生加入團隊
public void uGSInTeam(UnderGStudent uGStudent) {
for(int i=0;i<uGStudents.length;i++) {
if(uGStudents[i]==null) {
uGStudents[i]=uGStudent;
System.out.println("本科生" + uGStudent.getName() + "成功加入" + getName()+"團隊" );
break;
}
if(i==uGStudents.length-1) {
System.out.println( "本科生" + uGStudent.getName()+"加入失敗," + getName()+"團隊本科生組已滿員");
}
}
}
//輸出團隊資訊
public void outputInfo() {
System.out.println("團隊名稱:" + getName() + " 指導老師:" + getTeacher().getName() + " 專案名稱:" + getpName());
System.out.println("研究生成員:");
for(int i = 0;i < gStudents.length;i++){
if(gStudents[i] != null)
System.out.printf(gStudents[i].getName()+" ");
}
System.out.println();
System.out.println("本科生成員:");
for(int i = 0;i < uGStudents.length;i++)
{
if(uGStudents[i] != null)
System.out.printf(uGStudents[i].getName()+" ");
}
System.out.println();
}
//指導老師指導專案
public void guideProject() {
System.out.println("指導老師" + getTeacher().getName() + "正在指導" + getpName()+ "團隊專案,");
}
}
Teacher類(指導老師):
package experiment2;
public class Teacher {
private String name;
private String sex;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Teacher(String name,String sex,int age) {
this.setName(name);
this.setSex(sex);
this.setAge(age);
}
}
GraduateStudent類(研究生):
package experiment2;
public class GraduateStudent {
private String name;
private String sex;
private int age;
private String eduBack;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEduBack() {
return eduBack;
}
public void setEduBack(String eduBack) {
this.eduBack = eduBack;
}
public GraduateStudent(String name,String sex,int age,String eduBack) {
this.setName(name);
this.setSex(sex);
this.setAge(age);
this.setEduBack(eduBack);
}
}
UnderGStudent類(本科生):
package experiment2;
public class UnderGStudent {
private String name;
private String sex;
private int age;
private String eduBack;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEduBack() {
return eduBack;
}
public void setEduBack(String eduBack) {
this.eduBack = eduBack;
}
public UnderGStudent(String name,String sex,int age,String eduBack) {
this.setName(name);
this.setSex(sex);
this.setAge(age);
this.setEduBack(eduBack);
}
}
TeamTest類(測驗類):
package experiment2;
public class TeamTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Teacher teacher = new Teacher("楊斌","男",30);
GraduateStudent gStudent1 = new GraduateStudent("李超","男",23,"研究生");
GraduateStudent gStudent2 = new GraduateStudent("劉麗","女",22,"研究生");
UnderGStudent uGStudent1 = new UnderGStudent("張三","男",21,"本科生");
UnderGStudent uGStudent2 = new UnderGStudent("李穎","女",20,"本科生");
UnderGStudent uGStudent3 = new UnderGStudent("姚磊","男",20,"本科生");
UnderGStudent uGStudent4 = new UnderGStudent("劉芳","女",21,"本科生");
Team team = new Team("題都做不隊",5,"不知道是什么");
team.tInTeam(teacher);
team.gSInTeam(gStudent1);
team.gSInTeam(gStudent2);
team.uGSInTeam(uGStudent1);
team.uGSInTeam(uGStudent2);
team.uGSInTeam(uGStudent3);
team.uGSInTeam(uGStudent4);
team.outputInfo();
team.guideProject();
}
}
查看輸出結果:

到此,符合題目條件的一個簡單的 類就寫好了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/189916.html
標籤:其他
上一篇:java面向物件4-代碼塊
