实验1 类的定义、对象数组的使用
1. 定义一个学生类(Student),
属性有
1)非静态属性String studentNumber
2)非静态属性String studentName
3)非静态属性int markForMaths
4)非静态属性int markForEnglish
5)非静态属性int markForScience
方法有:
1)构造方法Student(String number, String name)
2)构造方法Student()
3)String getNumber()
4)String getName()
5)void enterMarks(int markForMaths, int markForEnglish, int markForScience)
6)int getMathsMark()
7)int getEnglishMark()
8)int getScienceMark()
9)double calculateAverage()
10)String toString() 返回学生信息,包括学号、姓名、数学成绩、英语成绩、科学成绩、平均成绩。
注意:为了保证calculateAverage返回double类型,需要把三个分数的和除以3.0,而不是3.
另外,分数的初始值是什么?如果每个分数初始值为0,会造成混淆,分数为0表示还没有输入分数,还是分数确实为0?有更好的初始值吗?
编写Student类,并且编写一个StudentTest类,对Student类进行测试。
StudentTest类运行效果如下:
请输入学生学号:2011211301
请输入学生姓名:王晓
请输入学生三门课成绩(数学,英语,科学):88,79,90
学生信息如下:
学号:2011211301
姓名:王晓
数学成绩:88
英语成绩:79
科学成绩:90
平均成绩:85.66666666666667
2.定义一个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(int no) //删除第no个数组元素,删除成功,返回true,否则false
4)boolean remove(String number) //删除学号为number的学生,删除成功,返回true,否则false
5)boolean isEmpty() //判断数组是否为空,若是,返回true,否则false
6)Student getItem(int no) //返回第no个学生
7)Student getItem(Student number) //返回学号为number的学生,若该生不存在,返回null。
8) int getTotal() 返回学生总人数
编写StudentList类,并且编写一个StudentListTest类,对StudentList类进行测试。
StudentListTest类运行效果:
菜单如下,请输入 1~8代表您要执行的操作:
1. 增加1个学生 2. 根据学号删除学生 3. 根据位置删除学生
4. 判断是否为空 5.根据位置返回学生 6.根据学号返回学生
7. 输出全部学生信息 8.退出程序
请输入您的操作:1
请输入学生信息:
学号:2011211301
姓名:王晓
数学成绩:88
英语成绩:79
科学成绩:90
---目前有1个学生,信息为---:
学号:2011211301
姓名:王晓
数学成绩:88
英语成绩:79
科学成绩:90
平均成绩:85.66666666666667
请输入您的操作:1
学号:2011211311
姓名:李辉
数学成绩:80
英语成绩:79
科学成绩:93
---目前有2个学生,信息为---:
学号:2011211301
姓名:王晓
数学成绩:88
英语成绩:79
科学成绩:90
平均成绩:85.66666666666667
姓名:李辉
数学成绩:80
英语成绩:79
科学成绩:93
平均成绩:84.0
请输入您的操作:5
请输入学生位置:10
对不起,没有对应的学生
请输入您的操作:5
请输入学生位置:2
学生信息如下:
姓名:李辉
数学成绩:80
英语成绩:79
科学成绩:93
平均成绩:84.0
请输入您的操作:3
请输入要删除第几个学生:2
删除成功
---目前有1个学生,信息为:---
学号:2011211301
姓名:王晓
数学成绩:88
英语成绩:79
科学成绩:90
平均成绩:85.66666666666667
......//后面的玉运行效果略
作业命名:
_学号(8位)_姓名_第几次作业(1位)_类名.java
eg:
_09211195_王晓_1_Student.java //定义Student类
_09211195_王晓_1_StudentList.java //定义StudentList类
为便于作业批改和查找,上传作业的时候,传.java文件,不要上传压缩包,一次作业可以有多个.java文件
为便于作业批改,要求源文件中的类名也需要和java文件名一致。如:
public class _09211195_王晓_1_Student{
//略
}
2023-11-20 07:03:19
3KB
Java
1