JAVA程序设计(自主模式)-教师学生评分

编程练习题1

 

(100/100 分数)

教师学生评分

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

 

Java:

import java.util.Scanner;

public class Main
{
	public static void main(String[] args)
	{
		int N;
		Scanner sc = new Scanner(System.in);
		N = Integer.parseInt(sc.nextLine().trim());
		String[] sData;
		for (int i = 0; i != N; ++i)
		{
			String line = sc.nextLine();
			sData = line.trim().split(" ");
			if (sData.length == 4)
			{
				Teacher t = new Teacher(sData);
				t.output();
			}
			else
			{
				Student s = new Student(sData);
				s.output();
			}
		}
		sc.close();
	}

}

class Person
{
	public String[] sData;
	Person(String[] sData)
	{
		this.sData = sData;
	}
	public int getMean()
	{
		int sum = 0;
		for (String s : sData)
		{
			sum += Integer.parseInt(s);
		}
		return sum / sData.length;
	}
}

class Student extends Person
{
	Student(String[] sData)
	{
		super(sData);
	}
	public void output()
	{
		System.out.println("Student " + getMean());
		return;
	}
}

class Teacher extends Person
{
	Teacher(String[] sData)
	{
		super(sData);
	}
	public void output()
	{
		System.out.println("Teacher " + getMean());
		return;
	}
}

 

你可能感兴趣的:(在线课程练习题)