题目:
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);
}
}