BUPT_HUSTOJ_1046

持续更新,敬请关注!

问题 A: 学生列表类

题目描述

定义一个StudentList类用来存储Student对象
属性有
1)Student[] list; //list存储学生对象
2)int total; //学生总人数
方法至少有:
1)StudentList(int length) //length是数组长度
2)boolean add(Student stu) //增加stu到数组中,成功,返回true,否则false
3)boolean remove(String number) //删除学号为number的学生,删除成功,返回true,否则false
4)boolean updateItem(String number , int math , int english , int science)//更新学生成绩,成功,返回true,否则false
5)boolean isEmpty() //判断数组是否为空,若是,返回true,否则false
6)int getTotal() 返回学生总人数
7)Student getItem(String number) //返回学号为number的学生,若该生不存在,返回null。

编写StudentList类,并且编写一个StudentListTest类,对StudentList类进行测试。
StudentListTest类功能有:
功能1:添加学生信息
执行1时,输入学号,姓名,三门科目成绩;如果添加学生成功则输出“Add success”,如果学生已存在则输出“Students already exist”
功能2:删除学生信息
执行2时,输入学号信息;如果学生不存在,输出“Students do not exist”,如果存在,则输出“Delete success”
功能3:更改学生成绩信息
执行3时,输入学号信息;如果学生不存在,输出“Students do not exist”,如果存在,输出“Update success”
功能4:显示学生平均分成绩
执行4时,输入学号信息;如果学生不存在,输出“Students do not exist”,如果存在,则输出学生信息,如下格式:
Student ID:2019989890
Name:Jerry
Average Score:89.3
其中平均分为三门科目相加除以3,保留一位小数,每行之间换行。
功能5:判断是否为空。如果为空输出"List is empty",否则输出"List is not empty"。
功能6:输出学生总人数。

输入

第一行为一个整数n(0<n<130),后边共n行,每一行表示执行一种功能。其中1,2,3,4,5,6分别对应执行上面6种功能,具体格式见输入样例。
测试用例保证:学号和名字均为长度不超过10的字符串,各门课成绩为0到100之间的整数。
要注意的是当添加学生或更新学生信息时,无论是否成功,输入格式是固定的,程序要读全所有输入,否则会出问题。

样例输入:

10
1 201817123 Tom 89 80 76
1 2019989890 Jerry 78 99 67
4 201817123
2 201817123
4 201817123
4 2019989890
3 2019989890 79 90 99
4 2019989890
5
6

输出

样例输出:

Add success
Add success
Student ID:201817123
Name:Tom
Average Score:81.7
Delete success
Students do not exist
Student ID:2019989890
Name:Jerry
Average Score:81.3
Update success
Student ID:2019989890
Name:Jerry
Average Score:89.3
List is not empty
1

代码

package student.list;
import java.util.Scanner;
import java.text.DecimalFormat;
class Student{
   
   
	String StudentName,StudentNumber;
	int score1,score2,score3;
	double average;
	Student(String StudentNumber,String StudentName,int score1,int score2,int score3)
	{
   
   
		this.StudentNumber=StudentNumber;
		this.StudentName=StudentName;
		this.score1=score1;
		this.score2=score2;
		this.score3=score3;
		average=(score1+score2+score3)/3.0;
	}
	public void print() {
   
   
		System.out.println("Student ID:"+this.StudentNumber+'\n'+"Name:"+this.StudentName+'\n'+"Average Score:"+this.average);
	}
	public String toString()
	{
   
   
		DecimalFormat df=new DecimalFormat("#.0");
		return ("Student ID:"+th
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值