学生管理系统2

Student.java(主程序)

package student;

/**
 *
 * @author asus
 */
import java.util.*;
public class Student {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
        
// TODO code application logic here
       /** Students stu = new  Students();
        stu.setOn(0);
        stu.setName("小李");
        stu.setAge(24);
        stu.setJava(70);
        stu.setC_shar(50);
        stu.setHtml(70);
        stu.setSql(80);
        stu.setSum();
        stu.setAvg();
        System.out.println("\t编号\t姓名\t年龄\tJava\tC#\thtml\tsql\t总分\t平均分");
        System.out.println(stu);
**/
       Scanner in =new Scanner(System.in);
      // System.out.println("--请定义人数--");
       Students[] stuArr=new Students[4];//数组长度为2
      //  System.out.println(stuArr.length);做测试
      Admin adminStu=new Admin();
      while(true) {
             System.out.println("--请输入你要执行的功能:--");
             System.out.println("10:添加一个学生");
             System.out.println("11:查找一个学生");
             System.out.println("12:根据编号更新学生的基本信息");
             System.out.println("13:根据编号删除学生--");
             System.out.println("14:根据编号输入学生的各门成绩");
             System.out.println("15:根据某门成绩进行排序");
             System.out.println("16:根据总分进行排序");             
             System.out.println("99:退出系统");
             String number=in.next();
             if(number.equals("10")){
                    System.out.println("请输入学生的姓名");
                  //接收姓名
                    String name=in.next();
                    System.out.println("请输入学生的年龄:");
              //接收年龄
                    int age=in.nextInt();
                   
                    //添加学生
                    adminStu.create(name,age, stuArr);
               //     adminStu.print(stuArr);
             } else if (number.equals("11")){
               System.out.println("执行查找学生的基本信息操作");
               System.out.println("请输入学生的编号进行查找:");
               //编号是进行接收的
               int on=in.nextInt();
               //调用查询的方法
               adminStu.select(on,stuArr);   
               }  else if (number.equals("12")) {
                  System.out.println("执行更新学员的基本信息");
                  System.out.println("请输入学生的编号:");
                  int  on = in.nextInt();
                  System.out.println("请输入学生的姓名:");
                  String name =in.next();
                  System.out.println("请输入学生的年龄:");
                  int age = in.nextInt();
                  adminStu.update(on, name, age, stuArr);
                 // adminStu.print(stuArr);//刷新输出
               }  else if (number.equals("13")){
                         System.out.println("执行删除操作");
                         System.out.println("请输入学生的编号");
                          int on=in.nextInt();
                         adminStu.delete(on,stuArr);
                             //     adminStu.print(stuArr);
                }else if (number.equals("14")){
                         System.out.println("执行输入成绩操作");
                         System.out.println("请输入学生的编号");
                         int on=in.nextInt();
                         adminStu.inputSorce(on,stuArr);
                }else if (number.equals("15")){
                         System.out.println("执行根据某科成绩排序操作");
                         System.out.println("请确定课程:1.Java 2.C# 3.Html 4.Sql");
                         int num=in.nextInt();
                         adminStu.courseSort(num,stuArr);
                }else if (number.equals("16")){
                         System.out.println("执行根据总分排序操作");
                         adminStu.sumSort(stuArr);
                }else if (number.equals("99")){
                //break;
                System.out.println("程序已结束");
                     System.exit(0);//专门结束循环,跳出这个主类
                
                }
      
        } 
    }
}


Students.java(对象的封装与初始化)

package student;

/**
 *
 * @author asus
 */
public class Students {

      private int on;
      private String name;
      private int age;
      private int java;
      private int c_shar;
      private int html;
      private int sql;
      private int sum;
      private int avg;
 
    
    public void setOn(int on){
         this.on =on;
    }      
    public int getOn(){
         return this.on;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getJava() {
        return java;
    }

    public void setJava(int java) {
        this.java = java;
    }

    public int getC_shar() {
        return c_shar;
    }

    public void setC_shar(int c_shar) {
        this.c_shar = c_shar;
    }

    public int getHtml() {
        return html;
    }

    public void setHtml(int html) {
        this.html = html;
    }

    public int getSql() {
        return sql;
    }

    public void setSql(int sql) {
        this.sql = sql;
    }

    public int getSum() {
        return sum;
    }

    public void setSum() {
        this.sum = this.java+this.c_shar+this.html+this.sql;
    }

  
    public int getAvg() {
        return avg;
    }

 
    public void setAvg() {
        this.avg = this.sum/4;
    }

     public String toString(){
          String msg="\t"+this.on+"\t"+this.name+"\t"
                      +this.age+"\t"+this.java+"\t"
                      +this.c_shar+"\t"+this.html+"\t"+this.sql+"\t"
                      +this.sum+"\t"+this.avg;
          return msg;
     }
    
}




Admin.java(对象所实现的功能)

package student;

/**
 *
 * @author asus
 */
//用来管理学生的一个类
import java.util.*;
public class Admin {
      String msg="\t编号\t姓名\t年龄\tJava\tC#\tHtml\tSql\t总分\t平均分";
      //参数传递的过程、传递数组。更新信息的一个方法
      public  void  print(Students[] arr){
            System.out.println(msg);
            for (int i=0;i<arr.length;i++)  {
                if (arr[i]!=null){
                    arr[i].setSum();
                    arr[i].setAvg();
                 System.out.println(arr[i]);
                }
            }
          
      }
      //判断是否存在学生
      //students 此时传递的数组
    public boolean  exist(int on,Students stu){
           if (stu!=null){
               if (stu.getOn()==on){
                       return true;
               }else{
                     return false;
               }
           }
           //大if的else
           return false;
    }
    
   
    //添加学生的方法
      public void create(String name,int age,Students[] arr){
            Students stu = new Students();
            stu.setName(name);
            stu.setAge(age);
            int i=this.setIndex(arr);
            stu.setOn(i);
            if (i==99999){
                 System.out.println("学生人数已达到最大,不能再添加了");
            }else{
                 arr[i]=stu;
            }
           
      }
      //返回数组为空的下标
      public int setIndex(Students[] arr){
             for (int i=0;i<arr.length;i++){
                  if (arr[i]==null){//为空返回下标
                      return i;
                  }
             }
             return 99999;
      }
      //查询方法,方法里面的参数传递过程
      public  void select(int on,Students[] arr){
          System.out.println(msg);
             for (int i=0;i<arr.length;i++){
                  if (this.exist(on, arr[i])==true){
                       System.out.println(msg);
                       System.out.println(arr[i]);
                       this.print(arr);
                       return ;//直接结束这个方法用return
                  }
                }
             System.out.println("--没有这个学生的存在--");
         }
      //更新学生的基本信息
      public void update (int on,String name ,int age,Students[] arr){
             for (int  i=0;i<arr.length;i++){
                  if (this.exist(on,arr[i])){
                      arr[i].setName(name);
                      arr[i].setAge(age);
                      System.out.println("---更新学生信息成功---");
                      this.print(arr);
                      return ;  //不执行下面直接返回
                  }
             }
             //如果不存在
             System.out.println("没找到这个学生,更新信息失败");
                 
      }
      
      public void delete(int on,Students [] arr){
            for (int i=0;i<arr.length;i++){
                 if (this.exist(on,arr[i])){
                     //第i个学生信息为空则为删除了
                     arr[i]=null;
                     this.print(arr);
                     return;
                 }
            }
            //如果没有执行for,则执行system
            System.out.println("您所指定编号的学生没有存在");
      }
     
      //输入某学生的某科成绩
      public  void inputSorce(int on,Students[] arr){
             for (int i=0;i< arr.length;i++){
                if(exist(on,arr[i])==true){
                    
                        System.out.println("请输入"+arr[i].getName()+"Java的成绩");
                        Scanner in=new Scanner(System.in);
                        //判断用户台输入的是否为整数in.hasNextInt
                         if (in.hasNextInt()){//如果输入的整型才会继续输入成绩
                                 arr[i].setJava(in.nextInt());
                        }
                        System.out.println("请输入"+arr[i].getName()+"C#的成绩");
                         if (in.hasNextInt()){
                                 arr[i].setC_shar(in.nextInt());
                        }
                         System.out.println("请输入"+arr[i].getName()+"Html的成绩");
                          if (in.hasNextInt()){
                                 arr[i].setHtml(in.nextInt());
                          }                       
                        System.out.println("请输入"+arr[i].getName()+"Sql的成绩");
                          if (in.hasNextInt()){
                                  arr[i].setSql(in.nextInt());
                         }
                        this.print(arr);
                        break;
                  }
          
             
              
             }
      
      }
      
      //根据指定的科目进行排序操作
      public void courseSort(int num,Students[] arr){
              if (num==1){
                  for (int i=0;i<arr.length-1;i++){
                       for (int j=i+1;j<arr.length;j++){
                           if (arr[i]!=null&&arr[j]!=null){
                                    if (arr[i].getJava()<arr[j].getJava()){
                                              Students t=arr[i];
                                              arr[i]=arr[j];
                                              arr[j]=t;
                                    }
                            }
                       }
                  }   
              }else if (num==2) {
                     for (int i=0;i<arr.length-1;i++){
                       for (int j=i+1;j<arr.length;j++){
                           if (arr[i]!=null&&arr[j]!=null){
                                    if (arr[i].getC_shar()<arr[j].getC_shar()){
                                              Students t=arr[i];
                                              arr[i]=arr[j];
                                              arr[j]=t;
                                    }
                            }
                       }
                  }
              } else if (num==3){
                 for (int i=0;i<arr.length-1;i++){
                       for (int j=i+1;j<arr.length;j++){
                           if (arr[i]!=null&&arr[j]!=null){
                                    if (arr[i].getHtml()<arr[j].getHtml()){
                                              Students t=arr[i];
                                              arr[i]=arr[j];
                                              arr[j]=t;
                                    }
                            }
                       }
                  }  
              }else if(num==4){
                       for (int i=0;i<arr.length-1;i++){
                       for (int j=i+1;j<arr.length;j++){
                           if (arr[i]!=null&&arr[j]!=null){
                                    if (arr[i].getSql()<arr[j].getSql()){
                                              Students t=arr[i];
                                              arr[i]=arr[j];
                                              arr[j]=t;
                                    }
                            }
                       }
                  }
              }
              
         this.print(arr);
      }
      
      public void sumSort(Students[] arr){
                       for (int i=0;i<arr.length-1;i++){
                       for (int j=i+1;j<arr.length;j++){
                           if (arr[i]!=null&&arr[j]!=null){
                                    if (arr[i].getSum()<arr[j].getSum()){
                                              Students t=arr[i];
                                              arr[i]=arr[j];
                                              arr[j]=t;
                                    }
                            }
                       }
                  }      
      this.print(arr);
      }
      
      
      
}





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值