回调练习题目

题目:

1.有三个角色,分别是孩子,家长和老师

2.孩子做完作业要通知老师批改,老师批改完作业要通知家长成绩,家长要根据成绩选择是否批评孩子.

3.2中所描述的老师有数学老师,语文老师和英语老师,每个老师批改作业的方式不同

4.老师批改完作业需要从键盘输入一个成绩,家长需要根据这个成绩判断是否批评孩子,成绩的判定标准自己掌握

代码:

public class Child {
    String name;

    Child(String name) {
        this.name = name;
    }

    //孩子做完作业要通知老师批改
    public void homework(Major major){
        System.out.println(name + "写完" + major + "作业,请老师批改");
        major.scoring();
    }

}
public class Parents {
    //家长要根据成绩选择是否批评孩子.
    public void education(Major major)  {
        int score = major.getScore();
        if (score > 90) {
            System.out.println("爸爸妈妈看到你" + major + "考了" + score + "分,好棒啊");
        } else if (score > 60) {
            System.out.println("爸爸妈妈看到你" + major + "考了" + score + "分,再接再厉");
        } else {
            System.out.println( major + "考了" + score + "分,回家等着挨揍");
        }

    }
}


interface Major {

    void scoring() ;
    void inform(Parents parents) ;
    int getScore();
}


import java.util.Scanner;

public class English implements Major{
    static int score;

    @Override
    public String toString() {
        return getClass().getName();
    }

    //老师批改作业,并从键盘输入一个成绩
    public void scoring(){
        System.out.println("老师检查英语作业并评分:");
        Scanner scanner = new Scanner(System.in);
        score = scanner.nextInt();
        System.out.println("学生英语成绩为 :"+score);
    }

    //老师批改完作业要通知家长成绩
    public void inform(Parents parents)  {
        parents.education(new English());
    }

    public int getScore() {
        return score;
    }
}

import java.io.IOException;

public class Entrance {
    public static void main(String[] args) throws IOException {
        Child child1=new Child("小明");
        Parents parents1=new Parents();

        Math math=new Math();
        child1.homework(math);
        math.inform(parents1);

        English english=new English();
        child1.homework(english);
        english.inform(parents1);

        Chinese chinese=new Chinese();
        child1.homework(chinese);
        chinese.inform(parents1);

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值