除了课程视频的办法,还有什么办法能调用Profession里的专业名称和学制年限并输出

除了课程视频的办法,还有什么办法能调用Profession里的专业名称和学制年限并输出

package zongheanli;

/**
 * 专业类
 * 
 * @author ThinkPad
 *
 */
public class Profession {
	private String ProfessionaLtitle;// 专业名称
	private String ProfessionalNumber;// 专业编号
	private int LengthOfSchooling;// 学制年限
	// 无参构造方法
	public Profession() {
	}
	// 带参构造,实现对属性的全部赋值
	public Profession(String ProfessionaLtitle, String ProfessionalNumber, int LengthOfSchooling) {
		this.setProfessionaLtitle(ProfessionaLtitle);
		this.setProfessionalNumber(ProfessionalNumber);
		this.setLengthOfSchooling(LengthOfSchooling);
	}
	public String getProfessionaLtitle() {
		return ProfessionaLtitle;
	}
	public void setProfessionaLtitle(String professionaLtitle) {
		this.ProfessionaLtitle = professionaLtitle;
	}
	public String getProfessionalNumber() {
		return ProfessionalNumber;
	}
	public void setProfessionalNumber(String professionalNumber) {
		this.ProfessionalNumber = professionalNumber;
	}
	public int getLengthOfSchooling() {
		return LengthOfSchooling;
	}
	// 设置学制年限,限制必须>0
	public void setLengthOfSchooling(int lengthOfSchooling) {
		if (lengthOfSchooling <= 0)
			return;
		this.LengthOfSchooling = lengthOfSchooling;
	}

/**
 * 专业介绍的方法
* 
* @return 专业介绍的相关信息,包括名称、编号、年限
*/
//	public String kt() {
//		String str = "专业信息如下:\n专业名称:" + this.getProfessionaLtitle() + "\n专业编号:" + this.getProfessionalNumber()
//				+ "\n学制年限:" + this.getLengthOfSchooling() + "年";
//		return str;
//	}

	public void kt1() {
		System.out.println("专业信息如下:");
		System.out.println("专业名称:" + this.getProfessionaLtitle());
		System.out.println("专业编号:" + this.getProfessionalNumber());
		System.out.println("学制年限:" + this.getLengthOfSchooling() + "年");
	}
	
	
	
}
package zongheanli;
//import zongheanli.Profession;
public class Student {
	private String name;// 姓名
	private String studentID;// 学号
	private String gender;// 性别
	private int age;// 年龄
	//private String zhuanye;// 所报专业名称
	//private int years;// 学制年限
	// 无参构造方法
	public Student() {
	}
	public Student(String name, String studentID, String gender, int age) { //String zhuanye, int years) {
		this.setName(name);
		this.setStudentID(studentID);
		this.setGender(gender);
		this.setAge(age);
		//this.setZhuanye(zhuanye);
		//this.setYears(years);
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getStudentID() {
		return studentID;
	}
	public void setStudentID(String studentID) {
		this.studentID = studentID;
	}
	public String getGender() {
		return gender;
	}
	/**
	 * 限制性别只能是“男”或者“女”,反之,强制赋值为“男”
	 * @param gender 传入的性别
	 */
	public void setGender(String gender) {
		if(gender!="男"&&gender!="女")
			this.gender="男";
		else
		this.gender = gender;
	}
	public int getAge() {
		return age;
	}
	/**
	 * 给年龄赋值,限定必须在10-100之间,反之赋值为18
	 * @param age 传入的年龄
	 */
	public void setAge(int age) {
		if(age<10||age>100)
		this.age=18;
	else
		this.age = age;
    }
//	public String getZhuanye() {
//		return zhuanye;
//	}
//	public void setZhuanye(Profession kt) {
//		this.zhuanye = kt;
//	}
//	public int getYears() {
//		return years;
//	}
//	public void setYears(int years) {
//		if(years <= 0)
//			return;
//		this.years = years;
//	}
   
	public void xinxi() {
		System.out.println("姓名:" + this.getName());
		System.out.println("学号:" + this.getStudentID());
		System.out.println("性别:" + this.getGender());
		System.out.println("年龄:" + this.getAge());
		//System.out.println("所报专业名称:" + this.getZhuanye());
		//System.out.println("学制年限:" + this.getYears());
		
	}
	
	
	
	
}
package zongheanli;
import zongheanli.Student;
import zongheanli.Profession;

public class StuentTest {

	public static void main(String[] args) {
	Profession kt=new Profession("计算机科学与应用","J0001",4);
    //System.out.println(kt.kt());
	kt.kt1();	
    System.out.println("===================================");
	Student one =new Student("张三","S01","男",18);
	one.xinxi();
	System.out.println("===================================");
	Student two =new Student("李四","S02","女",17);
    two.xinxi();
    System.out.println("===================================");
    Student three =new Student("王五","S03","男",18);
    three.xinxi();   
    
	}

}

我原来使直接在Student里面直接增加的属性。

private String name;// 姓名
	private String studentID;// 学号
	private String gender;// 性别
	private int age;// 年龄
	//private String zhuanye;// 所报专业名称
	//private int years;// 学制年限
public void xinxi() {
		System.out.println("姓名:" + this.getName());
		System.out.println("学号:" + this.getStudentID());
		System.out.println("性别:" + this.getGender());
		System.out.println("年龄:" + this.getAge());
		//System.out.println("所报专业名称:" + this.getZhuanye());
		//System.out.println("学制年限:" + this.getYears());
		
	}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

        同学你好,这里想问的只是针对课程中" 通过方法实现学生与专业关联--方案1"的获取学科的专业名称和学制年限并输出,还有其他的方法吗?  如果是,还有如下的方法来实现;

获取Profession的专业名称和学制年限,可以通过将这个Profession类作为参数传入xinxi方法中来获取专业明和和学制年限,例如:

public void xinxi(Profession myProfession) {
        System.out.println("姓名:" + this.getName());
        System.out.println("学号:" + this.getStudentID());
        System.out.println("性别:" + this.getGender());
        System.out.println("年龄:" + this.getAge());
        System.out.println("所报专业名称:" + myProfession.getProfessionaLtitle());
        System.out.println("学制年限:" + myProfession.getLengthOfSchooling());       
    }

也可以将Profession作为类属性,在造方法中直接赋值,然后在xinxi方法中直接通过this来获取专业名称和学制年限哦!

public class Student {
    private String name;// 姓名
    private String studentID;// 学号
    private String gender;// 性别
    private int age;// 年龄
    private Profession  myProfession;
    /*添加对应的无参和有参的构造方法、get/set方法*/
}
//具体信息方法
public void xinxi() {
        System.out.println("姓名:" + this.getName());
        System.out.println("学号:" + this.getStudentID());
        System.out.println("性别:" + this.getGender());
        System.out.println("年龄:" + this.getAge());
        System.out.println("所报专业名称:" + this.getMyProfession().getProfessionaLtitle());
        System.out.println("学制年限:" + this.getMyProfession().getLengthOfSchooling());       
    }

        如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~


  • 鏡花水月_ 提问者 #1
    调用Profession类必须 Profession类名+ my +类名Profession 吗?
    2019-06-17 15:49:15
  • 好帮手慕小班 回复 提问者 鏡花水月_ #2
    同学你好,这里myProfession只是老师写的变量名称,同学可以自己来定义这个参数/变量的名称,比如:professions或者stuProfession都可以的! 如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-06-17 16:24:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师