您的位置:首页 > 其它

自己写的一个关于学生信息的程序

2006-04-30 00:57 357 查看
import java.io.*;
///////////////////////////////////////定义一个接口
interface Manage{
 void  display(StuAttribute a[]);
}
///////////////////////////////////////定义学生的个个属性
class StuAttribute {
   private   String  namber,name,sex; 
   private    int     grade;
     StuAttribute(String  namber,String name,String  sex,int  grade)
    {
     this.namber=namber;
     this.name=name;
     this.sex=sex;
     this.grade=grade;
    }
    public String  getNamber()
    {
        return namber;
      }
       public String  getName()
      {
        return name;
       }
       public String  getSex() {
        return sex;
       }
       public int  getGrade() {
        return grade;
     }
 }
 ////////////////////////////////////////////////////////////
 //////////////////////////////对学生成绩进行处理,排序还有输出
class  StuManage implements Manage
{
 
  StuManage(StuAttribute a[],int n)
  { 
   StuAttribute temp;
   int incr=n/2;
   while(incr>=1)//shell排序
   { 
    for(int i=incr;i<n;i++)
     {   temp=a[i];
        int j=i;
        while(j>=incr && temp.getGrade()<a[j-incr].getGrade())
        {
         a[j]=a[j-incr];
         j-=incr;
        }
        a[j]=temp;
     }
    incr/=2;
   }
  
  }
 public void display(StuAttribute a[])
  {
   System.out.println(a.length);
   for(int i=0;i<a.length;i++)
   {
     System.out.println(a[i].getNamber());
     System.out.println(a[i].getName());
     System.out.println(a[i].getSex());
     System.out.println(a[i].getGrade());
   }
  }
}
/////////////////////////////////////////////////
/////////////////////////////////////////student 类
public  class  Student{
 public  static void main(String args [])throws IOException
 {
  StuAttribute stu[];      //////只是定义了只是一个StuAttribute对象没有分配内存空间
    int n=0;                 //必须对n进行初始化否则将报错
  System.out.println("输入你所输入学生信息的人数");
  BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
    n=Integer.parseInt(in.readLine());
  stu=new StuAttribute
;  ///给stu这个对象分配内存空间;
  char m[]=new char[2];
  for(int i=0;i<n;i++)
  {
     System.out.println("输入你所输入学生学号");
     BufferedReader in1=new BufferedReader(new InputStreamReader(System.in));
     String namber=in1.readLine();
     System.out.println("输入你所输入学生姓名");
         
     String name=in1.readLine();
     System.out.println("输入你所输入学生性别");
     
     String sex=in1.readLine();
     System.out.println("输入你所输入学生成绩");
     BufferedReader in4=new BufferedReader(new InputStreamReader(System.in));
     int grade=Integer.parseInt(in4.readLine());
     stu[i]=new StuAttribute(namber,name,sex,grade);//非常重要 尤其是这个new
     //这是创建构造方法  虽然已经创建了StuAttribute的对象类 但是对构造方法进行
     //初始化时必须要创建构造方法
    
   }  
   StuManage zzg=new StuManage(stu,n) ;
   zzg.display(stu);
  }

}
 
   

     
    
  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐