package com.itheima.d4_interfacecase1;
import java.util.ArrayList;
public class StudentOperatorImpl1 implements StudentOperator{
//输出全班学生信息
@Override
public void printAllInfo(ArrayList<Student> students) {
System.out.println("-------------全班学生信息如下-----------------");
for (int i = 0; i < students.size(); i++) {
Student s = students.get(i);
System.out.println("姓名:" + s.getName() + ",性别:" + s.getSex() + ",分数:" + s.getScore());
}
System.out.println("-------------------------------------------");
}
//打印班级平均分
@Override
public void printAverageScore(ArrayList<Student> students) {
double averageSource = 0.0;
for (int i = 0; i < students.size(); i++) {
Student s = students.get(i);
averageSource += s.getScore();
}
System.out.println("平均分:" + averageSource/students.size());
}
}
StudentOperatorImpl2
package com.itheima.d4_interfacecase1;
import java.util.ArrayList;
public class StudentOperatorImpl2 implements StudentOperator{
@Override
public void printAllInfo(ArrayList<Student> students) {
//记录男生人数
int count1 = 0;
//记录女生人数
int count2 = 0;
System.out.println("-------------全班学生信息如下-----------------");
for (int i = 0; i < students.size(); i++) {
Student s = students.get(i);
System.out.println("姓名:" + s.getName() + ",性别:" + s.getSex() + ",分数:" + s.getScore());
if (s.getSex() == '男') {
count1 ++;
}else {
count2 ++;
}
}
System.out.println("男生人数为:" + count1 + ",女生人数为:" + count2);
System.out.println("总人数为:" + students.size());
System.out.println("-------------------------------------------");
}
@Override
public void printAverageScore(ArrayList<Student> students) {
double averageSource = 0.0;
double max = students.get(0).getScore();
double min = students.get(0).getScore();
for (int i = 0; i < students.size(); i++) {
Student s = students.get(i);
averageSource += s.getScore();
if (s.getScore() > max) {
max = s.getScore();
}
if (s.getScore() < min) {
min = s.getScore();
}
}
System.out.println("最高分为:" + max + "最低分为:" + min);
System.out.println("平均分:" + (averageSource - max - min) / (students.size() - 2));
}
}
ClassManger
package com.itheima.d4_interfacecase1;
import java.util.ArrayList;
public class ClassManger {
private ArrayList<Student> students = new ArrayList<>();
private StudentOperator operator = new StudentOperatorImpl2();
public ClassManger() {
students.add(new Student("迪丽热巴",'女',99));
students.add(new Student("古力娜扎",'女',99.9));
students.add(new Student("黑八可",'男',80));
students.add(new Student("小白白",'男',70));
}
//打印学生全部信息
public void printInfo() {
operator.printAllInfo(students);
}
//打印学生平均分
public void printAveScore(){
operator.printAverageScore(students);
}
}
Test
package com.itheima.d4_interfacecase1;
public class Test {
public static void main(String[] args) {
//完成班级学生信息管理模块案例
ClassManger clas = new ClassManger();
clas.printInfo();
clas.printAveScore();
}
}