博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
info
阅读量:6924 次
发布时间:2019-06-27

本文共 6157 字,大约阅读时间需要 20 分钟。

package com.imooc.info;public class Student {    // 学生姓名如下:    // 姓名    // 学号    // 性别    // 年龄    // 新增专业属性    private String StuName;    private String StuNo;    private String StuSex;    private int StuAge;    private Subject StuSubject;    // 无参构造方法    public Student() {    }    // 多参构造方法,实现对全部属性的赋值    public Student(String stuName, String stuNo, String stuSex, int stuAge,            Subject stuSubject) {        this.setStuName(stuName);        this.setStuNo(stuNo);        this.setStuSex(stuSex);        this.setStuAge(stuAge);        this.setStuSubject(stuSubject);    }    // 多参构造方法,实现对姓名、学号、性别、年龄----四参    public Student(String stuName, String stuNo, String stuSex, int stuAge) {        this.setStuName(stuName);        this.setStuNo(stuNo);        this.setStuSex(stuSex);        this.setStuAge(stuAge);    }    public String getStuName() {        return StuName;    }    public void setStuName(String stuName) {        StuName = stuName;    }    public String getStuNo() {        return StuNo;    }    public void setStuNo(String stuNo) {        StuNo = stuNo;    }    public String getStuSex() {        return StuSex;    }    // 限制性别只能为"男"或者"女",否则为"未知"    public void setStuSex(String stuSex) {        if (stuSex == "男" || stuSex == "女") {            StuSex = stuSex;        } else            StuSex = "未知";    }    public int getStuAge() {        return StuAge;    }    /**     * 给年龄赋值,限定必须在10-100之间,反之赋值为18     *      * @param stuAge     */    public void setStuAge(int stuAge) {        if (stuAge < 10 || stuAge > 100) {            this.StuAge = 18;        } else            StuAge = stuAge;    }    /**     * 获取专业对象,如果没有实例化,先实例化后再返回     *      * @return 专业对象信息     */    public Subject getStuSubject() {        if (this.StuSubject == null) {            this.StuSubject = new Subject();        }        return StuSubject;    }    public void setStuSubject(Subject stuSubject) {        StuSubject = stuSubject;    }    /**     * 学生自我介绍的方法     *      * @param SubName     *            所报专业名称     * @param SubYear     *            学制年限     * @return自我介绍的信息,包括姓名、学号、性别、年龄     */    public String Stu() {        String messageStudent = "==========================\n学生信息如下:\n姓名:"                + this.getStuName() + "\n学号:" + this.getStuNo() + "\n性别:"                + this.getStuSex() + "\n年龄:" + this.getStuAge();        return messageStudent;    }//方法一    public String Stu(String SubName, int SubYear) {        String messageStudent = "==========================\n学生信息如下:\n姓名:"                + this.getStuName() + "\n学号:" + this.getStuNo() + "\n性别:"                + this.getStuSex() + "\n年龄:" + this.getStuAge() + "\n所报专业名称:"                + SubName + "\n学制年限:" + SubYear;        return messageStudent;    }//方法二    /**     * 学生自我介绍的方法     *      * @param mySubject     *            所选专业的对象     * @return自我介绍的信息,包括姓名、学号、性别、年龄,以及通过对象传入的所报专业名称、学制年限     */    public String Stu(Subject mySubject) {        String messageStudent = "==========================\n学生信息如下:\n姓名:"                + this.getStuName() + "\n学号:" + this.getStuNo() + "\n性别:"                + this.getStuSex() + "\n年龄:" + this.getStuAge() + "\n所报专业名称:"                + mySubject.getSubName() + "\n学制年限:" + mySubject.getSubYear();        return messageStudent;    }//方法三    public String Stu2() {        String messageStudent = "==========================\n学生信息如下:\n姓名:"                + this.getStuName() + "\n学号:" + this.getStuNo() + "\n性别:"                + this.getStuSex() + "\n年龄:" + this.getStuAge() + "\n所报专业名称:"                + this.getStuSubject().getSubName() + "\n专业年限:"                + this.getStuSubject().getSubYear();        return messageStudent;    }}

package com.imooc.info;

public class Subject {

// 成员属性:学科名称、学科编号、学制年限、报名选修的学生信息、报名选修的学生个数
private String SubName;
private String SubNo;
private int SubYear;
private Student[] myStudents;
private int studentNum;

// 无参构造方法

public Subject() {

}

// 多参构造方法,实现对学科名称、编号、学制年限的赋值

public Subject(String subName, String subNo, int subYear) {
this.setSubName(subName);
this.setSubNo(subNo);
this.setSubYear(subYear);
}

// 多参构造方法,实现对全部属性的赋值

public Subject(String subName, String subNo, int subYear,
Student[] myStudents) {
this.setSubName(subName);
this.setSubNo(subNo);
this.setSubYear(subYear);
this.setMyStudents(myStudents);

}

public String getSubName() {

return SubName;
}

public void setSubName(String subName) {

SubName = subName;
}

public String getSubNo() {

return SubNo;
}

public void setSubNo(String subNo) {

SubNo = subNo;
}

public int getSubYear() {

return SubYear;
}

/**

* 获取选修专业的学生信息,如果保存学生信息的数组未被初始化,则,先初始化长度200
*
* @return 保存学生信息的数组
*/
public Student[] getMyStudents() {
if (this.myStudents==null) {
this.myStudents=new Student[200];
}
return myStudents;
}

public void setMyStudents(Student[] myStudents) {

this.myStudents = myStudents;
}

public void setSubYear(int subYear) {

SubYear = subYear;
}

public int getStudentNum() {

return studentNum;
}

public void setStudentNum(int studentNum) {

this.studentNum = studentNum;
}

public String Sub() {

String messageSubject = "专业信息如下:\n专业名称:" + this.getSubName()
+ "\n专业编号:" + this.getSubNo() + "\n学制年限:" + this.getSubYear()
+ "年";
return messageSubject;
}

public void addStudent(Student stu) {

/*
* 1、将学生保存到数组中 2、将学生个数保存到studentNum
*/
// 1、将学生保存到数组中
int i;
for (i = 0; i < this.getMyStudents().length; i++) {
if (this.getMyStudents()[i] == null) {
this.getMyStudents()[i] = stu;
break;
}
}
// 2、将学生个数保存到studentNum
this.studentNum = i + 1;
}
}

package com.imooc.info;

import com.imooc.info.Student;

import com.imooc.info.Subject;

public class Test {

public static void main(String[] args) {

Subject sub1=new Subject("计算机科学与应用","J0001",4);
System.out.println(sub1.Sub());
Student stu1=new Student("张三","S01","男",18,sub1);
System.out.println(stu1.Stu2());
Student stu2=new Student("李四","S02","男",17);
System.out.println(stu2.Stu("计算机科学与应用", 4));
Student stu3=new Student("王五","S03","男",18);
System.out.println(stu3.Stu(sub1));
//测试制定专业中到底有多少学生报名
//sub1.addStudent(stu1);
//sub1.addStudent(stu2);
//sub1.addStudent(stu3);
System.out.println(sub1.getSubName()+"的专业共招生"+sub1.getStudentNum()+"人");
}
}

 

 

 

转载于:https://www.cnblogs.com/hanzhenhua/p/8330309.html

你可能感兴趣的文章
网页中导入特殊字体@font-face属性详解
查看>>
uva 1519 - Dictionary Size(字典树)
查看>>
15个最佳的代码评审(Code Review)工具
查看>>
浅谈压缩感知(十四):傅里叶矩阵与小波变换矩阵的MATLAB实现
查看>>
多个ajax请求下等待条显示和隐藏的简单处理
查看>>
编程之美第一篇 01分数规划
查看>>
【CSS3】CSS3 滤镜实现
查看>>
Linux运维工程师入门须掌握的10个技术点
查看>>
同一个页面多个CALayer重绘的办法
查看>>
HDU4911-Inversion(树状数组)
查看>>
【2014 Multi-University Training Contest 3 1002】/【HDU 4888】 Redraw Beautiful Drawings
查看>>
c#之Redis实践list,hashtable
查看>>
机会的度量:概率和分布
查看>>
【第三方SDK】百度地图实现最简单的定位功能(无地图界面)
查看>>
110_leetcode_Best Time to Buy and sell Stock II
查看>>
Android 开源项目android-open-project解析之(三) ScrollView,TimeView,TipView,FlipView
查看>>
Effective C++ 条款11
查看>>
kafka集群搭建与apiclient创建
查看>>
android如何添加桌面图标和卸载程序后自动删除图标
查看>>
【Android】12.1 Intent基本概念
查看>>