JAVA如何写一个student类实现以下功能?

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;
	}
	
}