实验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(Student 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个学生,信息为:
2019-12-21 21:00:50 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方法来输出对象的月工资。
2019-12-21 21:00:50 3KB 北邮java作业
1
输入要查询的员工社会保险号,输出员工信息;对于已经存在于员工列表中的一个员工,输入更新信息来更新列表中的员工对象;对于已经存在于员工列表中的一个员工,将其从HashMap中删除;打印全部员工的信息。
2019-12-21 20:53:52 8KB java
1
北邮 java 作业6 设计模式1,李颉老师的课上作业设计模式1
2019-12-21 20:49:41 3KB 北邮 java 作业6 设计模式1
1
北邮 java 作业4 图形化,李颉老师的java第四次作业,图形化
2019-12-21 20:49:40 4KB java
1
北邮 java 作业5 群体对象,李颉老师的课上作业群体对象
2019-12-21 20:49:40 4KB 北邮 java 作业5 群体对象
1
北邮 java 作业7 设计模式2,李颉老师的课上作业设计模式2
2019-12-21 20:49:40 11KB 北邮 java 作业7 设计模式2,
1
实验2 异常 在实验1基础上, 定义一个异常类ScoreException,当输入的学生成绩不在[0,100]区间时,抛出该异常。 定义一个异常类StudentNumberException,当输入的学号不满足下述条件,则抛出该异常。条件为:学号为10位,第1位为2,第2位为0,其余位为数字0~9. 对Student和StudentTest类进行必要修改,提升程序的健壮性。 StudentTest类运行效果如下: 测试用例1: 请输入学生学号:2011211301 请输入学生姓名:王晓 请输入学生三门课成绩(数学,英语,科学):88,79,90 学生信息如下: 学号:2011211301 姓名:王晓 数学成绩:88 英语成绩:79 科学成绩:90 平均成绩:85.66666666666667 测试用例2: 请输入学生学号:1011211301 学号格式不正确,请重新输入 请输入学生学号:101121130x 学号格式不正确,请重新输入 请输入学生学号:2011211301 请输入学生姓名:王晓 请输入学生三门课成绩(数学,英语,科学):88,179,90 成绩数据有误,请重新输入 请输入学生三门课成绩(数学,英语,科学):88,-79,90 成绩数据有误,请重新输入 请输入学生三门课成绩(数学,英语,科学):88,79,90 学生信息如下: 学号:2011211301 姓名:王晓 数学成绩:88 英语成绩:79 科学成绩:90 平均成绩:85.66666666666667 作业命名: _学号(8位)_姓名_第几次作业(1位)_类名.java eg: _09211195_王晓_1_Student.java //定义Student类 _09211195_王晓_1_StudentList.java //定义StudentList类 为便于作业批改和查找,上传作业的时候,传.java文件,不要上传压缩包,一次作业可以有多个.java文件 为便于作业批改,要求源文件中的类名也需要和java文件名一致,且一次作业的全部类文件放到同一个包下,包名为homeworkX,如第1次作业的包名为:homework1。如: package homework1; public class _09211195_王晓_1_Student{ //略 }
2019-12-21 18:54:24 2KB 北邮java作业
1