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