编写一个学生成绩管理系统。学生的属性包括学号、姓名、年龄等。每个学生要学习若干课程,每门课程有平时成绩、其中考试成绩、实习成绩、期末考试成绩以及总评成绩等多个成绩,其中平时成绩的数目不定(因为不同课程的教师布置的平时不同),而总评成绩是其它成绩的平均值。请先设计合理的类存放这些信息,然后设计程序完成以下功能:
1.列出某个学生的所有成绩
2.列出某门课程每个学生的总评成绩,及所有学生总评成绩的总评分
3.分区段统计某门课程的学生总评成绩,例如60分以下的学生人数、60至70分的学生人数等
package 学生管理系统;
import java.util.Scanner;
public class Student {
private int age;
private String id;
private String Sname;
private Course[] courselist;
private int coursenum = 0;
private static final int Maxcoursenum = 10;
Scanner sc = new Scanner(System.in);
//构造方法
public Student(String Sname) {
courselist = new Course[Maxcoursenum];
boolean flag=true;
String course;
this.Sname=Sname;
System.out.println("请输入学号:");
this.id=sc.next();
System.out.println("请输入年龄:");
this.age=sc.nextInt();
while(coursenum<Maxcoursenum) {
flag=true;
System.out.println("请输入所修课程:(输入end结束)");
course=sc.next();
if("end".equals(course)) {
break;
}
else {
for(int i=0;i<coursenum;i++) {
if(courselist[i].GetCname().equals(course)) {
System.out.println("课程已存在");
flag=false;
}
}
if(flag==true) {
courselist[coursenum]=new Course(course);
this.coursenum++;
}
}
}
System.out.println("学生:"+this.Sname+"创建成功");
System.out.println("共修"+this.coursenum+"门课程");
}
//设置课程
public boolean SetCourse() {
String Cname;
Cname=sc.next();
System.out.println("请输入课程名:");
for(int i=0;i<this.coursenum;i++) {
if(courselist[i].GetCname().equals(Cname)) {
System.out.println("课程已存在");
return false;
}
}
Course course = new Course(Cname);
courselist[coursenum]=course;
coursenum++;
return true;
}
//查看自身信息
public void GetMessasge() {
System.out.println("该学生的成绩是:");
for(int i=0;i<this.coursenum;i++) {
System.out.println(courselist[i].toString());
}
}
//重置学生姓名
public void SetSname() {
String new_name;
System.out.println("请输入学生姓名:");
new_name=sc.next();
this.Sname=new_name;
System.out.println("姓名修改成功");
}
//获得学生姓名
public String GetName() {
return this.Sname;
}
//重置学生年龄
public void SetAge() {
int new_age;
System.out.println("请输入学生年龄:");
new_age=sc.nextInt();
this.age=new_age;
System.out.println("年龄修改成功");
}
//获得学生年龄
public int GetAge() {
return this.age;
}
//重置学生学号
public void SetId() {
String new_id;
System.out.println("请输入学生学号:");
new_id=sc.next();
this.id=new_id;
System.out.println("学号修改成功");
}
//获得学生学号
public String GetId() {
return this.id;
}
//获得学生所修课程
public Course[] GetCourse() {
return this.courselist;
}
//获得学生所修课程数目
public int GetCourseNum() {
return this.coursenum;
}
}
差不多思路,参考下,https://blog.csdn.net/m0_52660785/article/details/125167598