package?com.imooc;
public?class?TempWork?{
public?static?void?main(String[]?args)?{
//創(chuàng)建學(xué)科類的對(duì)象
Subject?sb?=?new?Subject("J0001","計(jì)算機(jī)科學(xué)與應(yīng)用",4);
System.out.println("專業(yè)信息如下:");
System.out.println(sb.getInFo());
System.out.println("===================");
//創(chuàng)建學(xué)生類的對(duì)象
Student?stu1?=?new?Student("張三",01,'男',29,sb);
Student?stu2?=?new?Student("李四",02,'男',28);
Student?stu3?=?new?Student("王五",03,'女',27);
System.out.println("學(xué)生信息如下:");
System.out.println(stu1.print());
}
}
/**
?*?建立一個(gè)學(xué)科類Subject,屬性有專業(yè)編號(hào),專業(yè)名稱,學(xué)制年限
?*?@author?idea
?*
?*/
class?Subject{
private?String?num;
private?String?sbname;
private?int?years;
//定義無(wú)參構(gòu)造
public?Subject(){}
//定義三參構(gòu)造
public?Subject(String?num,String?sbname,int?years){
this.setNum(num);//專業(yè)編號(hào)
this.setSbname(sbname);//專業(yè)名稱
this.setYears(years);//學(xué)制年限
}
public?void?setNum(String?num)?{
this.num?=?num;
}
public?void?setSbname(String?sbname)?{
this.sbname?=?sbname;
}
public?void?setYears(int?years)?{
this.years?=?years;
}
public?String?getNum()?{
return?num;
}
public?String?getSbname()?{
return?sbname;
}
public?int?getYears()?{
return?years;
}
//定義一個(gè)輸出學(xué)科信息的方法
public?String?getInFo(){
return?"專業(yè)編號(hào):"+this.num+"\n"
+"專業(yè)名稱:"+this.sbname+"\n"
+"學(xué)制年限:"+this.years+"年";
}
}
/**
?*?建立一個(gè)學(xué)生類Student,屬性有姓名,學(xué)號(hào),性別,年齡,所報(bào)專業(yè)名稱,學(xué)制年限
?*/
class?Student{
private?String?stuname;//學(xué)生姓名
private?int?id;//學(xué)號(hào)
private?char?sex;//性別
private?int?age;//年齡
private?Subject?studentSubject;//將學(xué)生所報(bào)專業(yè)的專業(yè)信息作為學(xué)生的一個(gè)屬性
//定義無(wú)參構(gòu)造
//定義一個(gè)四參構(gòu)造
public?Student(String?stuname,int?id,char?sex,int?age){
this.setStuname(stuname);
this.setId(id);
this.setSex(sex);
this.setAge(age);
}
//定義五參構(gòu)造
public?Student(String?stuname,int?id,char?sex,int?age,Subject?studentSubject){
this.setStuname(stuname);
this.setId(id);
this.setSex(sex);
this.setAge(age);
this.setStudentSubject(studentSubject);
}
public?void?setStuname(String?stuname)?{
this.stuname?=?stuname;
}
public?void?setId(int?id)?{
this.id?=?id;
}
public?void?setSex(char?sex)?{
this.sex?=?sex;
}
public?void?setAge(int?age)?{
this.age?=?age;
}
public?void?setStudentSubject(Subject?student)?{
this.studentSubject?=?studentSubject;
}
public?String?getStuname()?{
return?stuname;
}
public?int?getId()?{
return?id;
}
public?char?getSex()?{
return?sex;
}
public?int?getAge()?{
return?age;
}
public?Subject?getSutdentSubject()?{
//如果沒(méi)有實(shí)例化則實(shí)例化,防止調(diào)用該方法時(shí)出現(xiàn)空指針異常
if(this.studentSubject==null){
this.studentSubject=new?Subject();
}
return?studentSubject;
}
//定義一個(gè)輸出學(xué)生信息的方法
public?String?print(){
return?"學(xué)生姓名:"+this.getStuname()+"\n"
+"學(xué)號(hào):"+this.getId()+"\n"
+"性別:"+this.getSex()+"\n"
+"年齡:"+this.getAge()+"\n"
+"所學(xué)專業(yè)編號(hào):"+this.getSutdentSubject().getNum()+"\n"
+"所報(bào)專業(yè)名稱:"+this.getSutdentSubject().getSbname()+"\n"
+"學(xué)制年限:"+this.getSutdentSubject().getYears();
}
}
1 回答
已采納
人販
TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
setStudentSubject 里面的參數(shù)值寫錯(cuò)了??
public?void?setStudentSubject(Subject?student)?{
????????this.studentSubject?=?studentSubject;
????}
改為
public void setStudentSubject(Subject studentSubject) {
? ?this.studentSubject = studentSubject;
}
添加回答
舉報(bào)
0/150
提交
取消
