持续更新,敬请关注!
题目描述
定义一个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()