1.设计一个Student类,要求如下:
1)该类继承于Person类。Person类有成员变量姓名、性别、年龄、身高、体重和职业等。
2)Person类重写toString方法查看实例对象的属性;有setName方法修改姓名;有setAge方法修改年龄;有setJob方法修改职业信息。
3)Student类有成员变量学号、选课科目、GPA、年级、学院等。
4)Student类重写toString方法查看实例对象的属性;有setGPA方法修改绩点、有setGrade方法修改年级、有addCourse方法为实例对象添加选的课程、有deleteCourse方法删除实例对象选的课程。
5)编写一个测试类Test,在该类中提供验证以下功能的操作菜单:可以创建任意多个Student对象、可选择对实例对象进行修改姓名操作、修改年龄操作、设置绩点操作、可对于同一学院的同学按GPA排序,并输出排序后的所有的学生信息(GPA排名)、为某个同学添加一门选课、为某个同学退掉一门选课。
student类实现以下功能,我来帮你写吧
主要代码如下,如有帮助,请采纳一下,谢谢。
class Person
{
protected:
String name;
String sex;
int age;
int height;
int wight;
String profession;
void setName(String n){name = n;}
void setAge(int ag){age = ag;}
void setJob(String job){profession = job;}
String getName(){return name;}
int getAge(){return age;}
String getJob(){return profession;}
protected:
override String toString()
{
return name + ","+String.valueOf(age) +","+ profession; //需要别的可以再继续添加
}
};
class Kemu
{
String bianhao; //科目编号
String name; //科目名称
};
class Student :public Person
{
private:
String xuehao; //学号
Vector<Kemu> km; //科目
float gpa; //GPA
int grade; //年级
String partment; //学院
public:
void setGPA(float g){gpa = g;}
void setGrade(int g){grade = g;}
void AddKc(Kemu k){km.add(k);}
void deleteCourse(Kemu k){
for (int i = 0;i < km.size();i++) {
if(km.at(i).bianhao == k.bianhao){
km.removeElementAt(i);
break;
}
}
}
};
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
package stud;
/*
* 1.设计一个Student类,要求如下:
1)该类继承于Person类。Person类有成员变量姓名、性别、年龄、身高、体重和职业等。
2)Person类重写toString方法查看实例对象的属性;有setName方法修改姓名;有setAge方法修改年龄;有setJob方法修改职业信息。
3)Student类有成员变量学号、选课科目、GPA、年级、学院等。
4)Student类重写toString方法查看实例对象的属性;有setGPA方法修改绩点、有setGrade方法修改年级、有addCourse方法为实例对象添加选的课程、有deleteCourse方法删除实例对象选的课程。
5)编写一个测试类Test,在该类中提供验证以下功能的操作菜单:可以创建任意多个Student对象、可选择对实例对象进行修改姓名操作、修改年龄操作、设置绩点操作、
可对于同一学院的同学按GPA排序,并输出排序后的所有的学生信息(GPA排名)、为某个同学添加一门选课、为某个同学退掉一门选课。
* */
public class StudentTests {
public static void main(String[] args) {
Person p1 = new Person("张三", "男", 18,168,70,"工程师");
System.out.println(p1);
Person p2 = new Student("李四", "男", 18,168,70,"设计师",1001,"JAVA","gpa","大三","软件学院");
System.out.println(p2);
}
}
class Person{
String name;
String sex;
int age;
float height; //身高
float weight; //体重
String job; //职业
public Person() {
}
public Person(String name,String sex,int age,float height,float weight,String job) {
this.name = name;
this.sex = sex;
this.age = age;
this.height = height;
this.weight = weight;
this.job = job;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setJob(String job) {
this.job = job;
}
@Override
public String toString() {
return "姓名:"+name+",性别:"+sex+",年龄:"+age+",身高:"+height+",体重:"+weight+",职业:"+job;
}
}
/*
3)Student类有成员变量学号、选课科目、GPA、年级、学院等。
4)Student类重写toString方法查看实例对象的属性;有setGPA方法修改绩点、有setGrade方法修改年级、
有addCourse方法为实例对象添加选的课程、有deleteCourse方法删除实例对象选的课程。
* */
class Student extends Person{
int studId;
String course;
String gpa;
String grade;
String college;
public Student() {}
public Student(String name,String sex,int age,float height,float weight,String job,int studId,
String course, String gpa, String grade, String college) {
super(name,sex,age,height,weight,job);
this.studId = studId;
this.course = course;
this.gpa = gpa;
this.grade = grade;
this.college = college;
}
public void setGpa(String gpa) {
this.gpa = gpa;
}
public void setGrade(String grade) {
this.grade = grade;
}
public void addCourse(String course) {
this.course = course;
}
public void deleteCourse() {
this.course = "";
}
@Override
public String toString() {
String str = "姓名:"+name+",性别:"+sex+",年龄:"+age+",身高:"+height+",体重:"+weight+",职业:"+job;
str += ",学号:"+studId+",选课科目:"+course+",gpa:"+gpa+",年级:"+grade+",学院:"+college;
return str;
}
}