JAVA有关学生成绩排序的问题

2025-01-04 03:24:45
推荐回答(3个)
回答1:

首先,类比结构体强大得多,并且容易理解,结构体能存储数据,类难道就不能么?
其次,说说对象的划分,或者说是类的划分,根据你的代码,可以看到,需要两个类,Student、Score,他们之间的关系是多对多,即每个学生可以有多个成绩,且每门功课也有多个学生。按照你的划分,将成绩挂到学生下,是可行的,优点是查询每个人的成绩时非常方便,但是在进行排序、统计操作时会非常麻烦,并且结构不清晰,你是对成绩排序呢,还是对学生排序?

回答2:

return name+"\t"+id+"\t"+sex+grade; grade 是什么意思
还有为什么定义内部类?sudent 是sorts的内部类
math 是什么意思?没声明也没调用啊
students[0]=new Student("xiaoming",19,"male");
students[1]=new Student("xiaoli",20,"male");//两位学生
没有这Student()构造方法

一下是我给你改的
如果要排序的话价格方法就行了
在方法里实现sort(student)

package com.text;

public class Sorts {

class Student {
private String name;
private int id;
private String sex;
// 这里------
private Grade g[] = new Grade[3];// 三门课
// 这里------

public Student() {

}

// 这里------
public Student(String name, int id, String sex) {
this.name = name;
this.id = id;
this.sex = sex;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getid() {
return id;
}

public void setid(int id) {
this.id = id;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public Grade[] getG() {
return g;
}

public void setG(Grade[] g) {
this.g = g;
}

// 这里------
public String toString() {
return name + "\t" + id + "\t" + sex + "\t" +g[0].toString()+"\t" +g[1].toString()+"\t" +g[0].toString();
}

}// class Student

class Grade {
private int grade;
private int value;

public Grade(int grade, int value) {
this.grade = grade;
this.value = value;
}

public int getGrade() {
return grade;
}

public void setgrade(int grade) {
this.grade = grade;
}

public int getValue() {
return value;
}

public void setvalue(int value) {
this.value = value;
}

// 这里------
public String toString() {
return "grade:" + this.grade+"\t" + "value:" + this.value;
}

}// class Grade

public static void main(String args[]) {

Student[] students = new Student[2];
// 这里------
students[0] = new Sorts().new Student("xiaoming", 19, "male");
students[1] = new Sorts().new Student("xiaoli", 20, "male");// 两位学生
Grade[] g = new Grade[3];// 三门成绩
g[0]=new Sorts().new Grade(1,3);
g[1]=new Sorts().new Grade(2,4);
g[2]=new Sorts().new Grade(3,4);
students[0].setG(g);
students[1].setG(g);
for (Student student : students)
System.out.println(student);
}// main
}// class sorts

回答3:

你那排序的都没有耶
我今晚一定要给你弄出来