实验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
实验3 继承和多态 定义下述5个类, 类属性如下: Employee: firstName,lastName,socialSecurityNumber SalaridEmployee: weeklySalary(周薪) HourlyEmployee: wage(每小时的工钱),hours(月工作小时数) CommisionEmployee: grossSales(销售额),commissionRate(提成比率) BasePlusCommisionEmployee: baseSalary(月基本工资) Employee类中定义了抽象方法earning,用于计算员工的月工资。 SalaridEmployee月工资计算为:weeklySalary*4 HourlyEmployee月工资计算为:wage*hours CommisionEmployee月工资计算为:grossSales*commissionRate BasePlusCommisionEmployee月工资计算为: grossSales*commissionRate+baseSalary 类还应该包括构造方法,toString方法,属性的get/set方法。 firstName,lastName,socialSecurityNumber的初始化在构造方法中完成。其中对firstName,lastName也要提供get/set方法,对socialSecurityNumber只提供get方法。 其他属性要提供get和set方法。 然后生成10个员工对象,根据随机数决定生成对象的类型(可以是SalaridEmployee、HourlyEmployee、CommisionEmployee、BasePlusCommisionEmployee),对象引用保存到数组中。然后依次调用对象的toString方法输出对象的信息,调用earning方法来输出对象的月工资。
2021-05-25 10:55:27 3KB Java
1
文件内包含北京邮电大学通信原理801历年考研真题及答案,希望可以帮到学弟学妹。
2019-12-21 21:38:29 56.91MB beiyou 801 kaoyan zhenti
1
实验4 基于实验3,设计图形界面,实现员工信息的录入和查询。 该界面上有菜单如下 EmployeeInfoInput(一级菜单) --CommissionEmployee(二级菜单) --BasePlusCommisionEmployee Search(一级菜单) ---AverageEarningSearch(查询全部员工的平均工资) 点击EmployeeInfoInput菜单下的某个菜单,弹出对话框,可以录入该类员工的详细信息,保存到内存中。该对话框有确定和重置两个按钮。点击确定,保存员工信息;点击重置,各输入框内容清空。 点击Search菜单下的AverageEarningSearch子菜单,显示全部员工的平均工资。 注:只考虑CommisionEmployee和BasePlusCommisionEmployee两类员工的信息输入。
2019-12-21 19:41:25 3KB Java
1