天天看點

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));
    }
}

           

繼續閱讀