主题:关于对象的题
编写一个模拟成绩录入的程序,该程序包括一个用来记录课程信息的Course类,记录学生信息的Student类,用来记录录入的成绩信息的SelectCourse类,和一个用来完成录入过程的TestSelectCourse类。各个类的具体描述如下:
1. 编写描述课程的类Course
Course类的属性包括课程名(courseName)、学分数(creditHour)、选课人数(studentNum)、本门课的平均分(averageScore)。
Course类实现的方法包括:
构造器方法:设定课程名和学分数,其余两个属性的初始值为0;
get方法:读取每个属性的值(getCourseName …);
set方法:设置选课人数和平均分(setStudentNum、setaverageScore),课程名和学分数不能由set方法设定;
addCourse(int s):每当有学生选择该课程时即调用此方法,参数s为此学生学习本门课所得到的成绩。调用本方法首先使该课程的选课人数加1,再重新计算本门课程的平均分;
print():调用此方法即可输出各个属性的值。
2. 编写描述学生的类Student
Student类的属性包括学生的学号(studentId)、姓名(studentName)、选课数(courseNum)、该生的平均分(averageScore)和得到的学分(creditHour),以及一个记录学生编号的静态nextId属性(即学生人数)。
其中每个学生的studentId在创建该学生对象时生成,第一个学生对象的学号为1,第二个为2,以此类推。
Student类实现的方法包括:
构造器方法:设定学生的姓名,并生成学号,其余属性初始值为0;
get方法:读取每个属性的值(getStudentName …);
set方法:设置选课数、平均分和学分三属性个(setCourseNum …);
print():调用此方法即可输出各个属性的值。
3. 编写描述录入成绩信息的类SelectCourse
编写一个描述录入成绩信息的类SelectCourse。该类的属性包括学生学号(studentId)、课程名(courseName)、所得分数(score)。
SelectCourse类除了构造方法(设定学生学号,课程名,所得分数)之外,还包括读取每个属性的get方法和设置分数的setScore方法,以及同前面类中类似的print()方法。
4. 编写模拟录入成绩的程序TestSelectCourse
程序首先创建一个Student类型的数组,数组中至少包含3个学生“Alice” 、“Bob” 、“Cindy” ;然后创建一个Course类型的数组,记录课程的名称及学分数,数组中至少包含2门课程“Java”3学分 、“C”2学分 ;再创建一个SelectCourse类型的数组,该数组至少可容纳10条选课信息。
初始化阶段完成之后,程序提示用户输入一条录入成绩的信息,该信息包括学生学号、所选课程名、得到的分数,其中每一项都通过对话框的方式读入。
读入一条选课信息之后先根据该信息实例化一个SelectCourse类的对象并存入数组中;再调用Course类中的addCourse方法对相应的课程对象进行处理;然后还要对选课的这个学生对象进行处理,要将其选课数加1,并重新计算该学生的平均分,如果分数及格还要将本门课的学分加入总学分,每门课的学分可由已建立的相应课程的对象中得到。 要求此过程重复3次,即至少输入3条选课信息。
完成信息的录入之后,调用对象数组Student, Course, SelectCourse等的每一个对象的print()方法进行输出,检查是否输出正确。
main方法我不会写,请大家帮个忙
1. 编写描述课程的类Course
Course类的属性包括课程名(courseName)、学分数(creditHour)、选课人数(studentNum)、本门课的平均分(averageScore)。
Course类实现的方法包括:
构造器方法:设定课程名和学分数,其余两个属性的初始值为0;
get方法:读取每个属性的值(getCourseName …);
set方法:设置选课人数和平均分(setStudentNum、setaverageScore),课程名和学分数不能由set方法设定;
addCourse(int s):每当有学生选择该课程时即调用此方法,参数s为此学生学习本门课所得到的成绩。调用本方法首先使该课程的选课人数加1,再重新计算本门课程的平均分;
print():调用此方法即可输出各个属性的值。
2. 编写描述学生的类Student
Student类的属性包括学生的学号(studentId)、姓名(studentName)、选课数(courseNum)、该生的平均分(averageScore)和得到的学分(creditHour),以及一个记录学生编号的静态nextId属性(即学生人数)。
其中每个学生的studentId在创建该学生对象时生成,第一个学生对象的学号为1,第二个为2,以此类推。
Student类实现的方法包括:
构造器方法:设定学生的姓名,并生成学号,其余属性初始值为0;
get方法:读取每个属性的值(getStudentName …);
set方法:设置选课数、平均分和学分三属性个(setCourseNum …);
print():调用此方法即可输出各个属性的值。
3. 编写描述录入成绩信息的类SelectCourse
编写一个描述录入成绩信息的类SelectCourse。该类的属性包括学生学号(studentId)、课程名(courseName)、所得分数(score)。
SelectCourse类除了构造方法(设定学生学号,课程名,所得分数)之外,还包括读取每个属性的get方法和设置分数的setScore方法,以及同前面类中类似的print()方法。
4. 编写模拟录入成绩的程序TestSelectCourse
程序首先创建一个Student类型的数组,数组中至少包含3个学生“Alice” 、“Bob” 、“Cindy” ;然后创建一个Course类型的数组,记录课程的名称及学分数,数组中至少包含2门课程“Java”3学分 、“C”2学分 ;再创建一个SelectCourse类型的数组,该数组至少可容纳10条选课信息。
初始化阶段完成之后,程序提示用户输入一条录入成绩的信息,该信息包括学生学号、所选课程名、得到的分数,其中每一项都通过对话框的方式读入。
读入一条选课信息之后先根据该信息实例化一个SelectCourse类的对象并存入数组中;再调用Course类中的addCourse方法对相应的课程对象进行处理;然后还要对选课的这个学生对象进行处理,要将其选课数加1,并重新计算该学生的平均分,如果分数及格还要将本门课的学分加入总学分,每门课的学分可由已建立的相应课程的对象中得到。 要求此过程重复3次,即至少输入3条选课信息。
完成信息的录入之后,调用对象数组Student, Course, SelectCourse等的每一个对象的print()方法进行输出,检查是否输出正确。
main方法我不会写,请大家帮个忙