/**
* @(#)Student.java
*
*
* @author ljuan
* @version 1.00 2009/11/15
*/
public class Student {
private String snum,sname,sex;
private float credits;
private Course [] courses=new Course[3];
private Course courses0=new Course();
private Course courses1=new Course();
private Course courses2=new Course();
public Student ( String n,String na,String s,
Course c0, Course c1,Course c2) {
snum = n;
sname = na;
sex = s;
courses0 = c0;
courses1 = c1;
courses2 = c2;
float m0= courses0.mark*courses0.credit;
float m1= courses1.mark*courses1.credit;
float m2= courses2.mark*courses2.credit;
float p= courses0.credit+courses1.credit+courses2.credit;
credits=(m0+m1+m2)/p;
}
Student(){
}
String getStudentNum(){
return snum; // return a value
}
void setStudentNum(String snum){
this.snum = snum; //调用this函数
}
String getStudentName(){ return sname;}
void setStudentName(String sname){
this.sname= sname;
}
String getStudentSex(){ return sex;}
void setStudentSex(String sex){
this.sex= sex;
}
float getCredits(){ return credits; }
void setCredits(float credits){ this.credits = credits; }
public static void main(String args[]){
Student [] students;
students =new Student[3];
Course [] cs;
cs = new Course[3];
cs[0]= new Course("语文","5624","林洁",79f,4f);
cs[1]= new Course("数学",96f,3f);
cs[2]= new Course("英语",86f,3.5f);
students[0] =new Student("06123","小王","男",cs[0],cs[1],cs[2]);
cs[0]= new Course("经济史","5624","丰利洁",96f,2f);
cs[1]= new Course("风险分析",93f,2.5f);
cs[2]= new Course("金融学",77f,3f);
students[1] =new Student("06636","林峰","男",cs[0],cs[1],cs[2]);
cs[0]= new Course("计算机网络","5624","陆赛",85f,3f);
cs[1]= new Course("Java", 86f,2f);
cs[2]= new Course("英语",71f,3.5f);
students[2] =new Student("07356","张秋","女",cs[0],cs[1],cs[2]);
System.out.println("学生的基本信息是:/n 学号/t姓名/t性别");
for(int i=0; i<3; i++){
System.out.println(students[i].snum+"/t"+students[i].sname+"/t"+students[i].sex);
}
for (int j=0;j<3;j++ ) { //排列数组
float ck= students[0].credits ;
int temp = 0;
Student sk = new Student();
if (ck < students[j].credits){
ck = students[j].credits;
sk =students[j];
students[j] = students[temp];
students[temp] = sk ;
temp = j;
}
}
System.out.println("学生课程情况(按学积点降序列出):"); //输出成绩信息
for(int i=0; i<3; i++){
System.out.println(students[i].sname +"的课程是:/t" );
System.out.println("/t"+students[i].courses0.courseName+": "+students[i].courses0.mark+"分。");
System.out.println("/t"+students[i].courses1.courseName+": "+students[i].courses1.mark+"分。");
System.out.println("/t"+students[i].courses2.courseName+": "+students[i].courses2.mark+"分。");
System.out.println("/t学积点: "+students[i].credits);
}
}
}
class Course{
String courseNum ,courseName ,courseTeacher ;
float credit ,mark;
Course(String cna,String cn,String ct,float m,float cr){
courseName = cna;
courseNum = cn;
courseTeacher = ct;
mark = m;
credit = cr;
}
Course (String i,float j){
courseName = i;
mark = j;
}
Course (String cna,float m,float cr){
courseName = cna;
mark = m;
credit = cr;
}
Course(){
courseNum = "000";
courseName = "000"; //注意:字符串的赋值
courseTeacher = "000";
mark = 0f;
credit = 0.0f;
} //初始化
}
/*
** 没有将课程用数组表示很可惜
** 基本情况已经实现
*/