• Java程序设计2023-第三次上机测试


    7-1校园角色类设计(学生Student、教员Faculty和职员Staff)

    学校需要构建综合系统,使用者包含多种角色。角色Role分两类:学生Student和雇员Employee;雇员又分为教员Faculty和职员Staff。
    每个角色都有姓名、年龄。学生有学号、班级。一个雇员有工号、入职日期。教员有职称。职员有职位称号。
    请以如下Main类为基础,构建各个角色类,将代码补充完整。

    import java.util.*;
    public class Main {
        public static void main(String[] args) {
            Faculty fac = new Faculty("张三", 32, "33006", 2021, 9, 1, "讲师");
            Student stu = new Student("李四", 19, "20201103", "202011");
            Staff sta = new Staff("王五", 27, "32011", 2017, 7, 23, "教务员");
            fac.show();
            sta.show();
            stu.show();
        }
    }
    //基类 Role
    class Role {
        protected String name;       //姓名
        protected int age;
        //构造方法
        public Role() {
        }
        public Role(String name, int age) {
            this.name = name;
            this.age=age;
        }
        //Setter/Getter
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        //业务方法
        public void show(){
            System.out.print("我是"+name+",年龄"+age+"岁。");
        }
    }
    
    //派生类 Faculty 教员
    class Faculty extends Role{
        String id,occupation;
        int year,month,day;
        public Faculty(String a,int b,String c,int d,int e,int f,String g){
            super(a,b);
            id=c;occupation=g;
            year=d;month=e;day=f;
        }
        public void show(){
            System.out.println("我是"+super.getName()+",年龄"+super.getAge()+"岁。工号是"+
                id+","+year+"年"+month+"月"+day+"日入职。是一名教师,"+occupation+"职称。");
        }
    }
    //派生类 Student 学生
    class Student extends Role{
        String id,clas;
        public Student(String a,int b,String c,String g){
            super(a,b);
            id=c;clas=g;
        }
        public void show(){
            System.out.println("我是"+super.getName()+",年龄"+super.getAge()+"岁。学号是"+
                id+",来自"+clas+"班。");
        }
    }
    //派生类 Staff 职员
    class Staff extends Role{
        String id,occupation;
        int year,month,day;
        public Staff(String a,int b,String c,int d,int e,int f,String g){
            super(a,b);
            id=c;occupation=g;
            year=d;month=e;day=f;
        }
        public void show(){
            System.out.println("我是"+super.getName()+",年龄"+super.getAge()+"岁。工号是"+
                id+","+year+"年"+month+"月"+day+"日入职。是一名"+occupation+"。");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81

    7-2学生类-构造函数

    定义一个有关学生的Student类,内含类成员变量
    String name、String sex、int age,所有的变量必须为私有(private)。

    1.编写有参构造函数:
    能对name,sex,age赋值。
    2.覆盖toString函数:
    按照格式:类名 [name=, sex=, age=]输出。使用idea自动生成,然后在修改成该输出格式
    3.对每个属性生成setter/getter方法
    4.main方法中
    •输入1行name age sex , 调用上面的有参构造函数新建对象。
    输入样例:

    tom 15 male
    
    • 1

    输出样例:

    Student [name='tom', sex='male', age=15]
    
    • 1
    import java.util.*;
    //派生类 Student 学生
    class Student {
        private String name,sex;
        private int age;
        public Student(String a,String b,int c){
            name=a;sex=b;age=c;
        }
        public String toString(){
            return "Student [name='"+name+"', sex='"+sex+"', age="+age+"]";
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            Scanner in =new Scanner(System.in);
            String str=in.nextLine();
            String []s=str.split("\\s+");
            Student stu = new Student(s[0],s[2],Integer.parseInt(s[1]));
            System.out.println(stu);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
  • 相关阅读:
    5.SpringMVC的视图
    eclipse启动一个Springboot项目
    论文写作格式
    科技的成就(三十七)
    VUE启动报错:Error: The project seems to require pnpm but it‘s not installed
    【PTA】toString方法
    点云从入门到精通技术详解100篇-基于 CRF 模型语义优化的车载激光点云分类(续)
    【MySQL】数据库的约束
    HAproxy负载均衡集群
    【SCI征稿】中科院2区SCI,可接收计算机大部分领域,征稿主题如图模式识别、图形数据挖掘、图像分类、目标检测、语义分割、位置检测、神经网络、主动学习等
  • 原文地址:https://blog.csdn.net/sylviiiiiia/article/details/133992168