zoukankan      html  css  js  c++  java
  • Java实现简单的学生成绩管理系统

    ScoreInformation.java


    import java.util.Scanner;
     class ScoreInformation {
        private String stunumber;           //八位学号
        private String name;
        private double mathematicsscore;
        private double englishscore;
        private double networkscore;
        private double databasescore;
        private double softwarescore;
        //构造函数
        ScoreInformation(String stunumber,String name,double mathematicssore,double englishscore,double networkscore,double databasescore,double softwarescore) {    
            this.stunumber=stunumber;
            this.name=name;
            this.mathematicsscore=mathematicssore;
            this.englishscore=englishscore;
            this.networkscore=networkscore;
            this.databasescore=databasescore;
            this.softwarescore=softwarescore;        
        };     
        ScoreInformation(){};
        
        //读取和设置变量信息
        public void setstunumber(String stunumber)
        {
            this.stunumber=stunumber;
        }
        
        public String getstunumber()
        {
            
            return stunumber;
        }
        
        
        public void setname(String name)
        {
            this.name=name;
        }
        
        public String getname()
        {
            
            return name;
        }
        
        public void setmathematicsscore(double math)
        {
            this.mathematicsscore=math;
        }
        
        public double getmathematicsscore()
        {
            
            return mathematicsscore;
        }
        
        public void setenglishscore(double english)
        {
            this.englishscore=english;
        }
        
        public double getenglishscore()
        {
            
            return englishscore;
        }
        
        public void setnetworkscore(double network)
        {
            this.networkscore=network;
        }
        
        public double getnetworkscore()
        {
            return networkscore;
        }
        
        
        public void setdatabasescore(double database)
        {
            this.databasescore=database;
        }
        
        public double getdatebasescore()
        {  
            
            return databasescore;
        }
        
        public void setsoftwarescore(double software)
        {
            this.softwarescore=software;
        }
        
        public double getsoftwarescore()
        {
            
            return softwarescore;
        }

    }
     
    ScoreManagement.java

    import java.text.DecimalFormat;
    import java.util.Scanner;


    public class ScoreManagement {

        int t;
        public static void main(String[] args)
        {
            
            ScoreManagement a=new ScoreManagement();
            ScoreInformation s[]=new ScoreInformation[5];           
            //存储五个学生信息
            s[0]=new ScoreInformation("20183725","杨文青",0,0,0,0,0);
            s[1]=new ScoreInformation("20184725","乔一",70,70,70,70,70);
            s[2]=new ScoreInformation("20173695","沈潇",60,70,80,60,80);
            s[3]=new ScoreInformation("20183728","王一墨",70,70,70,70,70);
            s[4]=new ScoreInformation("20183721","肖奈",60,60,60,60,60);      
            a.menu(s);        
        }  
     
        //主界面
        public  void menu(ScoreInformation []s)  
        {
            System.out.println("***************************************");
            System.out.println("        石家庄铁道大学软件工程系            ");
            System.out.println("         学生学籍管理系统2019版            ");
            System.out.println("***************************************");                
            System.out.println("         1.学生考试成绩录入              ");
            System.out.println("         2.学生考试成绩修改              ");
            System.out.println("         3.计算学生成绩绩点             ");
            System.out.println("         4.退出学籍管理系统              ");
            System.out.println("***************************************");    
            //输入选项
            int a;
            Scanner in=new Scanner(System.in);  
            a=in.nextInt();
            while(a<0||a>4)
            {
                System.out.print("输入无效,请重新输入:");
                a=in.nextInt();
            }    
            switch(a) {
            case 1:add(s);break;      
            case 2:modif(s);break;
            case 3:showjidian(s);               
            case 4:exit();break;
            default:break;   
            }   
                   
        }
          
        
        //退出界面
        public void exit()  
        {        
            System.out.println("**************************************************");
            System.out.println("谢谢使用石家庄铁道大学软件工程系学生学籍管理系统2019级版");
            System.out.println("                    制作人:杨文青                                      ");
            System.out.println("**************************************************");
            System.exit(0);
        }
        
        //成绩录入,形参为数组
        public void add(ScoreInformation [] s)  
        {
            System.out.println("**************************************************");
            System.out.println("  石家庄铁道大学软件工程系学生学籍管理系统2019级版");
            System.out.println("**************************************************");
            System.out.println("      请输入学生学号(8位):     ");
            Scanner in=new Scanner(System.in);     
            int a;
            a=in.nextInt();       
            for(int i=0;i<s.length;i++)
                if(a==Integer.parseInt(s[i].getstunumber()))
                {
                this.luru(s);
           
                    //录入完成后显示学生成绩信息
                    System.out.println("**************************************************");
                    System.out.println("  石家庄铁道大学软件工程系学生学籍管理系统2019级版");
                    System.out.println("               学生考试成绩录入界面           ");
                    System.out.println("**************************************************");
                    System.out.println("      学生学号:"+s[i].getstunumber());
                     System.out.println("       学生姓名:"+s[i].getname());
                     System.out.println("       高等数学成绩"+s[i].getmathematicsscore());
                     System.out.println("       大学英语成绩"+s[i].getenglishscore());
                     System.out.println("       计算机网络成绩"+s[i].getnetworkscore());
                     System.out.println("       数据库成绩"+s[i].getdatebasescore());
                     System.out.println("       软件工程成绩"+s[i].getsoftwarescore());
                    System.out.println("该学生成绩已录入完毕,是否提交(Y/N)");
                    System.out.println("**************************************************");

                    Scanner In=new Scanner(System.in);
                    String str;
                    char ch;
                    str=In.next();    
                    ch=str.charAt(0);
                    while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
                    {
                        System.out.println("输入有误,请重新输入:");
                        str=In.next();
                        ch=str.charAt(0);
                    }
                    if(ch=='Y'||ch=='y')
                    {
                        this.menu(s);    
                    }
                    if(ch=='N'||ch=='n')
                    {
                        this.luru(s);   
                    }      
                }
        }
                      
        
        //成绩成绩录入界面
        public void luru(ScoreInformation []s)  
        {
        System.out.println("**************************************************");
        System.out.println("  石家庄铁道大学软件工程系学生学籍管理系统2019级版");
        System.out.println("               学生考试成绩录入界面           ");
        System.out.println("**************************************************");
        System.out.println("      学生学号:"+s[t].getstunumber());    //t是全局变量
        System.out.println("       学生姓名:"+s[t].getname());
        System.out.println("    请输入高等数学成绩:  ");
        Scanner score=new Scanner(System.in);
        s[t].setmathematicsscore(score.nextDouble());
        System.out.println("    请输入大学英语成绩:  ");
        s[t].setenglishscore(score.nextDouble());
        System.out.println("    请输入计算机网络成绩:  ");
        s[t].setnetworkscore(score.nextDouble());
        System.out.println("    请输入数据库成绩:  ");
        s[t].setdatabasescore(score.nextDouble());
        System.out.println("    请输入软件工程成绩:  ");
        s[t].setsoftwarescore(score.nextDouble());
        System.out.println("**************************************************");    
        }
        
        
        
        public void  modif(ScoreInformation []s)
        {
        System.out.println("**************************************************");
        System.out.println("  石家庄铁道大学软件工程系学生学籍管理系统2019级版");
        System.out.println("               学生考试成绩修改界面           ");
        System.out.println("**************************************************");
        System.out.println("   请输入学生学号(8位):    ");
         Scanner in=new Scanner(System.in);   
         int a;
         a=in.nextInt();
         for(int i=0;i<s.length;i++)
             if(a==Integer.parseInt(s[i].getstunumber()))
             {
                 t=i;    //标记该学生
                 System.out.println("**************************************************");
                System.out.println("  石家庄铁道大学软件工程系学生学籍管理系统2019级版");
                System.out.println("               学生考试成绩录入界面           ");
                System.out.println("**************************************************");
                System.out.println("      学生学号:"+s[i].getstunumber());
                 System.out.println("       学生姓名:"+s[i].getname());
                 System.out.println("      1. 高等数学成绩"+s[i].getmathematicsscore());
                 System.out.println("      2. 大学英语成绩"+s[i].getenglishscore());
                 System.out.println("      3. 计算机网络成绩"+s[i].getnetworkscore());
                 System.out.println("      4. 数据库成绩"+s[i].getdatebasescore());
                 System.out.println("      5.软件工程成绩"+s[i].getsoftwarescore());
                System.out.println("**************************************************");

             }
         int m;   //输入选项
         Scanner k=new Scanner(System.in);
            m=k.nextInt();
            System.out.println("**************************************************");
            System.out.println("  石家庄铁道大学软件工程系学生学籍管理系统2019级版");
            System.out.println("               学生考试成绩录入界面           ");
            System.out.println("**************************************************");
            System.out.println("      学生学号:"+s[t].getstunumber());
            System.out.println("       学生姓名:"+s[t].getname());
            Scanner chengji=new Scanner(System.in);    //录入所要修改的成绩
            if(m==1)
            {  System.out.println("  请输入修改后高等数学成绩");
            s[t].setmathematicsscore(chengji.nextDouble());
            }
            if(m==2)
            {  System.out.println("  请输入修改后大学英语成绩");
            s[t].setenglishscore(chengji.nextDouble());     
            }
            if(m==3)
            {  System.out.println("  请输入修改后计算机网络成绩");
            s[t].setnetworkscore(chengji.nextDouble());
            }
            if(m==4)
            {  System.out.println("  请输入修改后数据库成绩");
            s[t].setdatabasescore(chengji.nextDouble());}
            if(m==5)
            {  System.out.println("  请输入修改后软件工程成绩");
            s[t].setsoftwarescore(chengji.nextDouble());
            }
           
            System.out.println("**************************************************");
            System.out.println("  石家庄铁道大学软件工程系学生学籍管理系统2019级版");
            System.out.println("               学生考试成绩录入界面           ");
            System.out.println("**************************************************");
            System.out.println("      学生学号:"+s[t].getstunumber());
             System.out.println("       学生姓名:"+s[t].getname());
             System.out.println("       高等数学成绩"+s[t].getmathematicsscore());
             System.out.println("       大学英语成绩"+s[t].getenglishscore());
             System.out.println("       计算机网络成绩"+s[t].getnetworkscore());
             System.out.println("       数据库成绩"+s[t].getdatebasescore());
             System.out.println("       软件工程成绩"+s[t].getsoftwarescore());
            System.out.println("该学生成绩已录入完毕,是否提交(Y/N)");
            System.out.println("**************************************************");

            Scanner In=new Scanner(System.in);
            String str;
            char ch;
            str=In.next();    
            ch=str.charAt(0);
            while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
            {
                System.out.println("输入有误,请重新输入:");
                str=In.next();
                ch=str.charAt(0);
            }
            if(ch=='Y'||ch=='y')
            {
                this.menu(s);    
            }
            if(ch=='N'||ch=='n')
            {
                this.modif(s);   
            }      
        }
        
        public double jidian(double n)  //分数
    {    
     //获得不同成绩段对应的绩点
     
       if(n>90)  return 4.0;
       else if(n>=85)   return 3.7;    
       else if(n >=82)   return 3.3;
       else if(n >=78)   return 3.0;
       else if(n>=75)   return 2.7;
       else if(n>=72)  return 2.3;
       else if(n>=68)   return 2.0;
       else if(n>=66)    return 1.7;
       else if(n>=64)  return 1.5;
       else if(n>=60)  return 1.0;
       else return  0.;

    }
        
        public void showjidian(ScoreInformation []s)
        {
                System.out.println("**************************************************");
                System.out.println("  石家庄铁道大学软件工程系学生学籍管理系统2019级版");
                System.out.println("            学生考试成绩绩点计算界面   ");
                System.out.println("**************************************************");  
                System.out.println("   请输入学生学号:");
                Scanner in=new Scanner(System.in);   
                int b;           
                b=in.nextInt();
                //计算各学科绩点
                for(int i=0;i<5;i++)
                {if(b==Integer.parseInt(s[i].getstunumber()))
                {
                System.out.println("**************************************************");
                System.out.println("  石家庄铁道大学软件工程系学生学籍管理系统2019级版");
                System.out.println("          学生考试成绩绩点计算界面   ");
                System.out.println("**************************************************");
                System.out.println("       学生学号:"+s[i].getstunumber());
                System.out.println("       学生姓名:"+s[i].getname());                
                System.out.println("       高等数学成绩绩点:"+jidian(s[i].getmathematicsscore()));
                System.out.println("       大学英语成绩绩点:"+jidian(s[i].getenglishscore()));
                System.out.println("       计算机网络成绩绩点:"+jidian(s[i].getnetworkscore()));
                System.out.println("       数据库成绩绩点:"+jidian(s[i].getdatebasescore()));
                System.out.println("       软件工程成绩绩点:"+jidian(s[i].getsoftwarescore()));
                //假设课程学分为1
                double avr=(jidian(s[i].getmathematicsscore())+jidian(s[i].getenglishscore())+jidian(s[i].getnetworkscore())+jidian(s[i].getdatebasescore())+jidian(s[i].getsoftwarescore()))/5;
                System.out.println("  你的平均学分绩点为:"+new DecimalFormat("#.00").format(avr));    //小数点后保留两位
                if(avr>=2) System.out.println("提示信息:你的学分绩点已达到毕业要求!");
                else System.out.println("提示信息:你的学分绩点不满足毕业要求!");
                }
                }
                System.out.println("是否返回系统主界面(Y/N)");
                Scanner In=new Scanner(System.in);
                String str;            
                char ch;
                str=In.next();
                   ch=str.charAt(0);
                   while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
                   {
                       System.out.println("输入有误,请重新输入:");
                       str=In.next();                 
                       ch=str.charAt(0);
                   }
                   if(ch=='Y'||ch=='y')
                   {
                       this.menu(s);
                   }
                   if(ch=='N'||ch=='n')
                   {
                   }      
        }
    }
    实现的功能如下:

     

     

     

  • 相关阅读:
    布局
    面向对象....(概况)
    下拉城市列表
    下拉列表
    内容窗体
    《面向对象》-继承
    《面向对象》--类
    《面向对象》第一讲
    常用的正则表达式
    正则表达式
  • 原文地址:https://www.cnblogs.com/ywqtro/p/11515065.html
Copyright © 2011-2022 走看看