(选做题)设计学校父类,其中学校的属性包括学校名称、学校的地址、学校的学生人数、学校的教师人数和学校的面积;方法包括开学和放假。所有类、方法和变量命名按照Java命名规范进行。

选做题

(选做题)设计学校父类,其中学校的属性包括学校名称、学校的地址、学校的学生人数、学校的教师人数和学校的面积;方法包括开学和放假。所有类、方法和变量命名按照Java命名规范进行。

设计学校子类:

(1)幼儿园。继承学校类,属性包含园长名称、保育员人数、保健医师人数。方法:幼儿园区域监察记录(打印一下信息即可)

(2)小学。继承学校类,属性包含校长姓名、班级总数量、科目数量。方法:某个班级春游(打印一下信息即可)。

(3)大学。继承学校类,属性包含校长姓名、院系总数量、讲师数量,录取分数。方法:录取分数验证。

要求:

(1)所有父子类均完成get和set封装,以及构造方法(无参构造方法和有参构造方法)封装。

(2)子类继承父类时,重写父类开学和放假方法,形式为输出开学和放假的时间信息。

(3)手动输入(Scanner)(幼儿园、小学、大学),判断输入内容,实例化不同子类对象,通过父类去接收子类对象,初始化学校信息,初始完之后,打印开学和放假的时间。

(4)在输入大学完成实例化后还需调用录取分数验证的方法,用户需输入报考分数,如果分数不超过500,打印未达到录取线,无法录取。如果分数超过,就提示录取成功。提示:instanceof(向下转型)

School父类

package com.stx.p6.gonghaoyue;
//学校父类
public class School {
    private String scName;//学校名称
    private String scAddr;//学校地址
    private int stuQuantity;//学生数量
    private int tecQuantity;//教师数量
    private int scArea;//学校面积
//无参构造
    public School() {
    }

    //get和set

    public String getScName() {
        return scName;
    }

    public void setScName(String scName) {
        this.scName = scName;
    }

    public String getScAddr() {
        return scAddr;
    }

    public void setScAddr(String scAddr) {
        this.scAddr = scAddr;
    }

    public int getStuQuantity() {
        return stuQuantity;
    }

    public void setStuQuantity(int stuQuantity) {
        this.stuQuantity = stuQuantity;
    }

    public int getTecQuantity() {
        return tecQuantity;
    }

    public void setTecQuantity(int tecQuantity) {
        this.tecQuantity = tecQuantity;
    }

    public int getScArea() {
        return scArea;
    }

    public void setScArea(int scArea) {
        this.scArea = scArea;
    }

    //show方法
    public void show(){
        System.out.println("学校的名称是"+scName+"位于"+scAddr+",占地"+scArea+"平方米,"+"学生人数"+stuQuantity+"人,教师人数"+tecQuantity+"人。");
    }
    //开学方法
    public void open(){}

    //放假方法
    public void over(){}
}

幼儿园子类

package com.stx.p6.gonghaoyue;
//幼儿园子类,继承学校父类
public class Kindergarten extends School{
    private String yz;//圆长名称
    private int byQuantity;//保育员人数
    private int bjQuantity;//保健医师人数
//有参构造
    public Kindergarten(String yz, int byQuantity, int bjQuantity) {
        this.yz = yz;
        this.byQuantity = byQuantity;
        this.bjQuantity = bjQuantity;
    }


//get和set方法

    public String getYz() {
        return yz;
    }

    public void setYz(String yz) {
        this.yz = yz;
    }

    public int getByQuantity() {
        return byQuantity;
    }

    public void setByQuantity(int byQuantity) {
        this.byQuantity = byQuantity;
    }

    public int getBjQuantity() {
        return bjQuantity;
    }

    public void setBjQuantity(int bjQuantity) {
        this.bjQuantity = bjQuantity;
    }


//重写开学放假方法

    @Override
    public void open() {

        System.out.println("开学时间为9.1");
    }

    @Override
    public void over() {
        System.out.println("放假时间为2.1");
    }

//方法:幼儿园区域监察记录(打印一下信息即可)
    public void record(){
        System.out.println("园长名称:"+yz+"\t"+"保育员人数:"+byQuantity+"\t"+"保健医师人数:"+bjQuantity);
        School school = new School();
        school.setScAddr("重庆");
        school.setScArea(123);
        school.setScName("重庆幼儿园");
        school.setStuQuantity(123);
        school.setTecQuantity(123);
        school.show();
    }
}

小学子类

package com.stx.p6.gonghaoyue;
//小学子类,继承学校父类
public class ElementarySchool extends School{
    private String xz;//校长名称
    private int clQuantity;//班级数量
    private int subQuantity;//科目数量

//有参构造
    public ElementarySchool(String xz, int clQuantity, int subQuantity) {
        this.xz = xz;
        this.clQuantity = clQuantity;
        this.subQuantity = subQuantity;
    }

//get和set方法

    public String getXz() {
        return xz;
    }

    public void setXz(String xz) {
        this.xz = xz;
    }

    public int getClQuantity() {
        return clQuantity;
    }

    public void setClQuantity(int clQuantity) {
        this.clQuantity = clQuantity;
    }

    public int getSubQuantity() {
        return subQuantity;
    }

    public void setSubQuantity(int subQuantity) {
        this.subQuantity = subQuantity;
    }


//开学放假方法的重写

    @Override
    public void open() {
        System.out.println("开学时间为9.1");
    }

    @Override
    public void over() {
        System.out.println("放假时间为2.1");
    }

//班级春游的方法
public void travel(){
    System.out.println("校长名称:"+xz+"\t"+"班级数量:"+clQuantity+"\t"+"科目数量:"+subQuantity);
    School school = new School();
    school.setScAddr("重庆");
    school.setScArea(123);
    school.setScName("重庆小学");
    school.setStuQuantity(123);
    school.setTecQuantity(123);
    school.show();
}
}

大学子类

package com.stx.p6.gonghaoyue;
//大学子类,继承学校父类
public class University extends School{
    private String xz;//校长名称
    private int yxQuantity;//院系数量
    private int jsQuantity;//讲师数量

//有参构造器

    public University(String xz, int yxQuantity, int jsQuantity) {
        this.xz = xz;
        this.yxQuantity = yxQuantity;
        this.jsQuantity = jsQuantity;
    }



//get和set方法

    public String getXz() {
        return xz;
    }

    public void setXz(String xz) {
        this.xz = xz;
    }

    public int getYxQuantity() {
        return yxQuantity;
    }

    public void setYxQuantity(int yxQuantity) {
        this.yxQuantity = yxQuantity;
    }

    public int getJsQuantity() {
        return jsQuantity;
    }

    public void setJsQuantity(int jsQuantity) {
        this.jsQuantity = jsQuantity;
    }


//开学放假方法的重写

    @Override
    public void open() {
        System.out.println("开学时间为9.1");
    }

    @Override
    public void over() {
        System.out.println("放假时间为2.1");
    }

//录取大学信息
public void message(){
    System.out.println("校长名称:"+xz+"\t"+"院系数量:"+yxQuantity+"\t"+"讲师数量:"+jsQuantity);
    School school = new School();
    school.setScAddr("重庆");
    school.setScArea(123);
    school.setScName("重庆大学");
    school.setStuQuantity(123);
    school.setTecQuantity(123);
    school.show();
}

}

主类

package com.stx.p6.gonghaoyue;

import java.util.Scanner;

public class Application {
    public static void main(String[] args) {
        Scanner s1 =new Scanner(System.in);
        System.out.println("选择幼儿园请输入:1");
        System.out.println("选择小学请输入:2");
        System.out.println("选择大学请输入:3");
        System.out.println("请输入您的选择:");
        int x=s1.nextInt();
        //对用户输入进行判断
        if(x== 1){
            School sch=new Kindergarten("张德丑",123,123);
            ((Kindergarten)sch).open();
            ((Kindergarten)sch).over();
            ((Kindergarten)sch).record();
        }else if(x==2){
            School sch=new ElementarySchool("张德胖",123,123);
            ((ElementarySchool)sch).open();
            ((ElementarySchool)sch).over();
            ((ElementarySchool)sch).travel();
        }else if(x==3) {
            System.out.println("请输入您的分数:");
            Scanner scanner = new Scanner(System.in);
            int score = scanner.nextInt();
            //对录取分数进行判断
            if(score>500){
                System.out.println("录取成功,学校信息如下:");
                School sch=new University("张德矮",123,123);
                ((University)sch).open();
                ((University)sch).over();
                ((University)sch).message();
            }else {
                System.out.println("和遗憾,您的成绩不合格,录取失败!");
            }
        }else{
            System.out.println("您的输入不合法");
        }
        s1.close();
    }
}

测试

幼儿园

选择幼儿园请输入:1
选择小学请输入:2
选择大学请输入:3
请输入您的选择:
1
开学时间为9.1
放假时间为2.1
园长名称:张德丑	保育员人数:123	保健医师人数:123
学校的名称是重庆幼儿园位于重庆,占地123平方米,学生人数123人,教师人数123人。

小学

选择幼儿园请输入:1
选择小学请输入:2
选择大学请输入:3
请输入您的选择:
2
开学时间为9.1
放假时间为2.1
校长名称:张德胖	班级数量:123	科目数量:123
学校的名称是重庆小学位于重庆,占地123平方米,学生人数123人,教师人数123人。

大学

500分以上
选择幼儿园请输入:1
选择小学请输入:2
选择大学请输入:3
请输入您的选择:
3
请输入您的分数:
501
录取成功,学校信息如下:
开学时间为9.1
放假时间为2.1
校长名称:张德矮	院系数量:123	讲师数量:123
学校的名称是重庆大学位于重庆,占地123平方米,学生人数123人,教师人数123人。
500分以下
选择幼儿园请输入:1
选择小学请输入:2
选择大学请输入:3
请输入您的选择:
3
请输入您的分数:
499
和遗憾,您的成绩不合格,录取失败!
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值