美文网首页
面向对象综合案例

面向对象综合案例

作者: 所以然WZY | 来源:发表于2018-11-13 16:59 被阅读0次

键盘录入名字和年龄,查找对应的院系。
A 光电学院(光子,电子,光学分析)
B 计算机学院(数据结构,C语言,操作系统)
C 理学院(高等数学,线性代数,概率论)
D 管理学院(会计,管理学,经济学)

光电学院

package com.pp;

public class Dstudent extends Student {
    private String Cname="光电学院";
    String [] zn={"光子","电子","光学分析"};

    public String getCname() {
        return Cname;
    }

    public void setCname(String cname) {
        Cname = cname;
    }
}

管理学院

package com.pp;

public class Gstudent extends  Student {
    private String Cname="管理学院";
    String [] zn={"会计","管理学","经济学"};

    public String getCname() {
        return Cname;
    }

    public void setCname(String cname) {
        Cname = cname;
    }
}

计算机学院

package com.pp;

public class Jstudent extends  Student {
    private String Cname="计算机学院";
    String [] zn={"C语言","数据结构","操作系统"};

    public String getCname() {
        return Cname;
    }

    public void setCname(String cname) {
        Cname = cname;
    }
}

理学院

package com.pp;

public class Lstudent extends  Student {
    private String Cname="理学院";
    String [] zn={"高等数学","线性代数","概率论"};

    public String getCname() {
        return Cname;
    }

    public void setCname(String cname) {
        Cname = cname;
    }
}

录入数据

package com.pp;

public class Inputstudent {
    private String name;
    private int    age;
    private String Zname;

    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 String getZname() {
        return Zname;
    }

    public void setZname(String zname) {
        Zname = zname;
    }
}

学生类

package com.pp;

public class Student {
    private String name;
    private int 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 Student compare(Inputstudent inputstudent){
        String Zname = inputstudent.getZname();
        Jstudent jstudent = new Jstudent();
        Gstudent gstudent = new Gstudent();
        Lstudent lstudent = new Lstudent();
        Dstudent dstudent = new Dstudent();

        for(int i=0;i<jstudent.zn.length;i++){
            if(Zname.equals(jstudent.zn[i])){
                return new Jstudent();
            }
        }
        for(int i=0;i<dstudent.zn.length;i++){
            if(Zname.equals(dstudent.zn[i])){
                return new Dstudent();
            }
        }
        for(int i=0;i<lstudent.zn.length;i++){
            if(Zname.equals(lstudent.zn[i])){
                return new Lstudent();
            }
        }for(int i=0;i<gstudent.zn.length;i++){
            if(Zname.equals(gstudent.zn[i])){
                return new Gstudent();
            }
        }
        return null;
    }
}

学生工具类

package com.pp;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentUtil {
    private static ArrayList<Inputstudent>Data;

    public static void Scanf(){
        Data=new ArrayList<>();
        for(int i=0;i<3;i++){
            Scanner scanner = new Scanner(System.in);
            Inputstudent inputstudent = new Inputstudent();

            System.out.println("请输入姓名");
            String sname = scanner.next();
            System.out.println("请输入年龄");
            int age = scanner.nextInt();
            System.out.println("请输入专业课名称");
            String Zname = scanner.next();

            inputstudent.setAge(age);
            inputstudent.setName(sname);
            inputstudent.setZname(Zname);

            Data.add(inputstudent);
            System.out.println(Data.size());
        }
    }
    public static void RetCname(){
        for(int i=0;i<Data.size();i++){
            Inputstudent inputstudent=Data.get(i);
            Student student = new Student();
            Student compare=student.compare(inputstudent);

            if(compare instanceof Jstudent){
                Jstudent jstudent=(Jstudent)compare;
                System.out.println(jstudent.getCname());
            }else if(compare instanceof Dstudent){
                Dstudent dstudent=(Dstudent)compare;
                System.out.println(dstudent.getCname());
            }else if(compare instanceof Gstudent){
                Gstudent gstudent=(Gstudent)compare;
                System.out.println(gstudent.getCname());
            }else if(compare instanceof Lstudent){
                Lstudent lstudent=(Lstudent)compare;
                System.out.println(lstudent.getCname());
            }
        }
    }
}

测试类

package com.pp;

public class Test {
    public static void main(String[] args) {

        StudentUtil.Scanf();
        StudentUtil.RetCname();
    }
}

运行结果

请输入姓名
张三
请输入年龄
11
请输入专业课名称
数据结构
1
请输入姓名
李四
请输入年龄
22
请输入专业课名称
会计
2
请输入姓名
王五
请输入年龄
33
请输入专业课名称
光子
3
计算机学院
管理学院
光电学院

Process finished with exit code 0

相关文章

  • 面向对象综合案例

    键盘录入名字和年龄,查找对应的院系。A 光电学院(光子,电子,光学分析)B 计算机学院(数据结构,C语言,操作系统...

  • Day12_09

    面向对象案例综合案例 ATM机的模拟程序 package Day12_09_01; public class AT...

  • 10-Python面向对象-面向对象编程-综合案例

    学习地址: 撩课-Python大数据+人工智能1撩课-Python大数据+人工智能2撩课-Python大数据+人工...

  • 0723

    01面向对象和面向过程的思想 02面向对象的思想的生活案例 03面向对象好处 04大象装进冰箱的代码案例 05定义...

  • python 面向对象封装案例 II

    面向对象封装案例 II 目标 士兵突击案例 身份运算符 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一...

  • 面向对象上

    面向对象上 两种思想:面向对象 面向过程 案例:面向过程:强调行为,函数最小单位,考虑怎么做 面向对象三大特征:封...

  • 3-Java面向对象-封装综合案例

    案例简介 通过一个简单的案例具体的实现一下封装。 通过java语言和面向对象的思想,模拟一个场景的实现。 案例: ...

  • python 面向对象封装案例

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 ...

  • 14.Python对象封装

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 ...

  • Python面向对象设计

    一、面向对象思想 1.面向对象思想设计 基于哲学观点:万物皆对象举例说明:案例一:我想吃大盘鸡面向过程 ...

网友评论

      本文标题:面向对象综合案例

      本文链接:https://www.haomeiwen.com/subject/boulfqtx.html