3_1 教师学生评分

学校要进行年终总结,需要对教师和学生的评分结果进行统计。学生的统计数据有三个,教师的统计数据有四个。请你实现一个统计系统,对输入的数据进行整理。
请你实现一个Person类表示人员,并实现一些必要的方法,再实现Teacher类和Student类,通过类的继承机制完成这个任务。
输入格式:
首先输入一个数字N,表示输入统计的人数。
接下来是N行,每行是用空格隔开的一系列数字。
输出格式:
N行,每行是一个标识符加一个平均得分(向下取整的整数),用空格隔开。
学生的标识符是Student,教师的标识符是Teacher。
输入样例:
2
2 3 4
2 3 4 5
输出样例:
Student 3
Teacher 3

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        String st = in.nextLine();//读取上一行后的换行符?!
        for(int i = 0; i < n; i++) {
            String str = in.nextLine();
            String[] s = str.split(" ");//分割出数字
            if(s.length == 3) {//是学生
                Student student = new Student();
                student.print(s);
            }else {//是老师
                Teacher teacher = new Teacher();
                teacher.print(s);
            }
        }
        in.close();
    }

}

abstract class Person{
    public int getArg(String[] s) {
        int amount = 0;
        for(int i = 0; i < s.length; i++) {
            amount += Integer.parseInt(s[i]);
        }
        return amount / s.length;
    }
    abstract void print(String[] s);
}

class Teacher extends Person{
    @Override
    void print(String[] s) {
        System.out.println("Teacher " + this.getArg(s));
    }
}

class Student extends Person{
    @Override
    void print(String[] s) {
        System.out.println("Student " + this.getArg(s));
    }
}

猜你喜欢

转载自blog.csdn.net/qq_31474267/article/details/81050866