开学java的初步考试

//第一个.java文件
package project1;
//20183777 温学智 信1805-2
public class ScoreInformation 
{
    private String stunumber;
    private String name;
    private double mathematicsscore;
    private double englishiscore;
    private double networkscore;
    private double databasescore;
    private double softwarescore;
    //构造函数
    public ScoreInformation(String stunumber,String name,double mathematicsscore,double englishiscore,double networkscore,double databasescore,double softwarescore)
    {
        this.stunumber=stunumber;
        this.name=name;
        this.mathematicsscore=mathematicsscore;
        this.englishiscore=englishiscore;
        this.networkscore=networkscore;
        this.databasescore=databasescore;
        this.softwarescore=softwarescore;
    }
    public String getstunumber()
    {return stunumber;}
    public void setstunumber(String stunumber)
    {this.stunumber=stunumber;}
    public String getname()
    {return name;}
    public void setname(String name)
    {this.name=name;}
    public double getmathematicsscore()
    {return mathematicsscore;}
    public void setmathematicsscore(double mathematicsscore)
    {this.mathematicsscore=mathematicsscore;}
    public double getenglishiscore()
    {return englishiscore;}
    public void setenglishiscore(double englishiscore)
    {this.englishiscore=englishiscore;}
    public double getnetworkscore()
    {return networkscore;}
    public void setnetworkscore(double networkscore)
    {this.networkscore=networkscore;}
    public double getdatabasescore()
    {return databasescore;}
    public void setdatabasescore(double databasescore)
    {this.databasescore=databasescore;}
    public double getsoftwarescore()
    {return softwarescore;}
    public void setsoftwarescore(double softwarescore)
    {this.softwarescore=softwarescore;}
}





//第二个.java文件
package project1;
//20183777 温学智 信1805-2
import java.util.Scanner;
import project1.ScoreInformation;
public class ScoreManagement 
{
    static Scanner scan=new Scanner(System.in);
    static ScoreInformation []wen=new ScoreInformation[5];
    //进行数组的初始化。写入数据。
    static void shuzuchushihua()
    {
        wen[0]=new ScoreInformation("20183774"," 温学智1",0,0,0,0,0);
        wen[1]=new ScoreInformation("20183775"," 温学智2",0,0,0,0,0);
        wen[2]=new ScoreInformation("20183776"," 温学智3",0,0,0,0,0);
        wen[3]=new ScoreInformation("20183777"," 温学智4",0,0,0,0,0);
        wen[4]=new ScoreInformation("20183778"," 温学智5",0,0,0,0,0);
    }
    static void dayin1()
    {
        System.out.println("***********************************************");
        System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统2019版");
         System.out.println("                          学生考试成绩录入");
         System.out.println("***********************************************");
    } 
    static void dayin2()
    {
         System.out.println("***********************************************");
    }
    static void dayin3()
    {
        System.out.println("***********************************************");
        System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统2019版");
         System.out.println("                          学生考试成绩修改界面");
         System.out.println("***********************************************");
    }
    static void dayin4(int w2,double d1,double d2,double d3, double d4,double d5)
    {
           wen[w2].setmathematicsscore(d1);
            wen[w2].setenglishiscore(d2);
            wen[w2].setnetworkscore(d3);
            wen[w2].setdatabasescore(d4);
            wen[w2].setsoftwarescore(d5);
    }
    static void dayin5(int w2)
    {
         System.out.println("                            学生学号:"+wen[w2].getstunumber());
         System.out.println("                            学生姓名:"+wen[w2].getname());
         System.out.println("            1 高等数学成绩:"+wen[w2].getmathematicsscore());
         System.out.println("            2 英语成绩:"+wen[w2].getenglishiscore());
         System.out.println("            3 计算机网络成绩:"+wen[w2].getnetworkscore());
         System.out.println("            4 数据库成绩:"+wen[w2].getdatabasescore());
         System.out.println("            5 软件工程成绩:"+wen[w2].getsoftwarescore());
    }
    static void dayin6()
    {
        System.out.println("                          该学生成绩录入完毕,是否提交(Y/N)");
    }
    static void dayin7()
    {
        System.out.println("***********************************************");
        System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统2019版");
         System.out.println("                          学生考试成绩绩点计算界面");
         System.out.println("***********************************************");
    }
    static double dayin8(double a)
    {

         if(a>=90)
             return 4.0;
         else if(a>=85&&a<=89.9)
             return 3.7;
         else if(a>=82&&a<=84.9)
             return 3.3;
         else if(a>=78&&a<=81.9)
             return 3.0;
         else if(a>=75&&a<=77.9)
             return 2.7;
         else if(a>=72&&a<=74.9)
             return 2.3;
         else if(a>=68&&a<=71.9)
             return 2.0;
         else if(a>=66&&a<=67.9)
             return 1.7;
         else if(a>=64&&a<=65.9)
             return 1.5;
         else if(a>=60&&a<=63.9)
             return 1.0;
         else 
             return 0;
    }
    static void dayin9(String a,String b)
    {
        System.out.println("                            学生学号:"+a);
         System.out.println("                            学生姓名:"+b);
    }
    static boolean xue2;
    static boolean zhi1;
    static boolean ooo;
    //进行成绩的录入
    static void luru()
    {
        ooo=true;
        while(ooo)
        {
            xue2=false;
            zhi1=true;
        dayin1();
         System.out.println("                          请输入学生学号:XXXXXXXX");
         dayin2();
         String w1=scan.next();
         int w2=0;
         for(;w2<5;w2++)
         {
             if(w1.equals(wen[w2].getstunumber()))
             {
                 xue2=true;
                 ooo=false;
                 break;
             }
         }
         while(zhi1)
         {
         if(xue2)
         {
             dayin1();
                 dayin9(wen[w2].getstunumber(),wen[w2].getname());
                 System.out.println("                          请输入高等数学成绩:XXX");
                 dayin2();
                 System.out.println("   ");
                 wen[w2].setmathematicsscore(scan.nextDouble());
                 dayin1();
                 dayin9(wen[w2].getstunumber(),wen[w2].getname());
                     System.out.println("                          高等数学成绩:"+wen[w2].getmathematicsscore());
                     System.out.println("                          请输入大学英语成绩:XXX");
                     dayin2();
                     System.out.println("   ");
                     wen[w2].setenglishiscore(scan.nextDouble());
                     dayin1();
                     dayin9(wen[w2].getstunumber(),wen[w2].getname());
                         System.out.println("                          高等数学成绩:"+wen[w2].getmathematicsscore());
                         System.out.println("                          高等数学成绩:"+wen[w2].getenglishiscore());
                         System.out.println("                          请输入大学计算机网络成绩:XXX");
                         dayin2();
                         System.out.println("   ");
                         wen[w2].setnetworkscore(scan.nextDouble());
                         dayin1();
                         dayin9(wen[w2].getstunumber(),wen[w2].getname());
                             System.out.println("                          高等数学成绩:"+wen[w2].getmathematicsscore());
                             System.out.println("                          高等数学成绩:"+wen[w2].getenglishiscore());
                             System.out.println("                          计算机网络成绩:"+wen[w2].getnetworkscore());
                             System.out.println("                          请输入大学数据库成绩:XXX");
                            dayin2();
                             System.out.println("   ");
                             wen[w2].setdatabasescore(scan.nextDouble());
                             dayin1();
                             dayin9(wen[w2].getstunumber(),wen[w2].getname());
                                 System.out.println("                          高等数学成绩:"+wen[w2].getmathematicsscore());
                                 System.out.println("                          高等数学成绩:"+wen[w2].getenglishiscore());
                                 System.out.println("                          计算机网络成绩:"+wen[w2].getnetworkscore());
                                 System.out.println("                          数据库成绩:"+wen[w2].getdatabasescore());
                                 System.out.println("                          请输入大学软件工程成绩:XXX");
                                dayin2();
                                 System.out.println("   ");
                                 wen[w2].setsoftwarescore(scan.nextDouble());
                                 dayin1();
                                 dayin9(wen[w2].getstunumber(),wen[w2].getname());
                                     System.out.println("                          高等数学成绩:"+wen[w2].getmathematicsscore());
                                     System.out.println("                          高等数学成绩:"+wen[w2].getenglishiscore());
                                     System.out.println("                          计算机网络成绩:"+wen[w2].getnetworkscore());
                                     System.out.println("                          数据库成绩:"+wen[w2].getdatabasescore());
                                     System.out.println("                          软件工程成绩:"+wen[w2].getsoftwarescore());
                                     dayin6();
                                    dayin2();
                                    String w3=scan.next();
                                    if(w3.equals("N"))
                                    {
                                         wen[w2].setmathematicsscore(0);
                                         wen[w2].setenglishiscore(0);
                                        wen[w2].setnetworkscore(0);
                                         wen[w2].setdatabasescore(0);
                                        wen[w2].setsoftwarescore(0);
                                        zhi1=false;
                                        ooo=true;
                                    }
                                    else 
                                        {
                                        zhi1=false;
                                        System.out.println("成绩录入成功请继续操作");
                                        }
         }
         else
         {
             System.out.println("学号错误操作失败");
             zhi1=false;
             ooo=true;
         }
         }
         zhi1=true;
        }
    }
    static boolean xue3;
    static boolean zhi2;
    static boolean oo;
    static boolean oooo;
    //进行成绩的修改
    static void xiugai()
    {
        oooo=true;
        while(oooo)
        {
        zhi2=true;
        oo=true;
        while(oo)
        {
        xue3=false;
        dayin3();
         System.out.println("                          请输入学生学号:XXXXXXXX");
         dayin2();
         String w4=scan.next();
         int w2=0;
         for(;w2<5;w2++)
         {
             if(w4.equals(wen[w2].getstunumber()))
             {
                 xue3=true;
                 oo=false;
                 oooo=false;
                 break;
             }
         }
         while(zhi2)
         {
         if(xue3)
         {
             double d1,d2,d3,d4,d5;
             d1=wen[w2].getmathematicsscore();
             d2=wen[w2].getenglishiscore();
             d3=wen[w2].getnetworkscore();
             d4=wen[w2].getdatabasescore();
             d5=wen[w2].getsoftwarescore();
            dayin3();
                 System.out.println("                          学生学号:"+wen[w2].getstunumber());
                 System.out.println("                          学生姓名:"+wen[w2].getname());
                 System.out.println("                     1 高等数学成绩:"+wen[w2].getmathematicsscore());
                 System.out.println("                     2 英语成绩:"+wen[w2].getenglishiscore());
                 System.out.println("                     3 计算机网络成绩:"+wen[w2].getnetworkscore());
                 System.out.println("                     4 数据库成绩:"+wen[w2].getdatabasescore());
                 System.out.println("                     5 软件工程成绩:"+wen[w2].getsoftwarescore());
                 dayin2();
                 System.out.println("请选择需要修改的选项");
                 int w5=scan.nextInt();
                 String w6;
                       switch(w5)
                       {
                       case 1:
                          dayin3();
                         System.out.println("                          学生学号:"+wen[w2].getstunumber());
                         System.out.println("                          学生姓名:"+wen[w2].getname());
                         System.out.println("                          请输入修改后的高等数学成绩:XXX");
                         dayin2();
                         wen[w2].setmathematicsscore(scan.nextDouble());
                         dayin3();
                             System.out.println("                     学生学号:"+wen[w2].getstunumber());
                             System.out.println("                     学生姓名:"+wen[w2].getname());
                             System.out.println("                     高等数学成绩:"+wen[w2].getmathematicsscore());
                             System.out.println("                     英语成绩:"+wen[w2].getenglishiscore());
                             System.out.println("                     计算机网络成绩:"+wen[w2].getnetworkscore());
                             System.out.println("                     数据库成绩:"+wen[w2].getdatabasescore());
                             System.out.println("                     软件工程成绩:"+wen[w2].getsoftwarescore());
                             dayin6();
                             dayin2();
                             w6=scan.next();
                             if(w6.equals("N"))
                             {
                                 dayin4(w2,d1,d2,d3,d4,d5);
                                 zhi2=true;
                             }
                             else
                                 zhi2=false;
                           break;
                       case 2:
                          dayin3();
                         System.out.println("                          学生学号:"+wen[w2].getstunumber());
                         System.out.println("                          学生姓名:"+wen[w2].getname());
                         System.out.println("                          请输入修改后的大学英语成绩:XXX");
                         dayin2();
                         wen[w2].setenglishiscore(scan.nextDouble());
                         dayin3();
                             System.out.println("                          学生学号:"+wen[w2].getstunumber());
                             System.out.println("                          学生姓名:"+wen[w2].getname());
                             System.out.println("                          高等数学成绩:"+wen[w2].getmathematicsscore());
                             System.out.println("                          英语成绩:"+wen[w2].getenglishiscore());
                             System.out.println("                          计算机网络成绩:"+wen[w2].getnetworkscore());
                             System.out.println("                          数据库成绩:"+wen[w2].getdatabasescore());
                             System.out.println("                          软件工程成绩:"+wen[w2].getsoftwarescore());
                             System.out.println("                          该学生成绩录入完毕,是否提交(Y/N)");
                            dayin2();
                             w6=scan.next();
                             if(w6.equals("N"))
                             {
                                 dayin4(w2,d1,d2,d3,d4,d5);
                                 zhi2=true;
                             }
                             else
                                 zhi2=false;
                           break;
                       case 3:
                          dayin3();
                         System.out.println("                          学生学号:"+wen[w2].getstunumber());
                         System.out.println("                          学生姓名:"+wen[w2].getname());
                         System.out.println("                          请输入修改后的计算机网络成绩:XXX");
                         dayin2();
                         wen[w2].setnetworkscore(scan.nextDouble());
                         dayin3();
                             System.out.println("                          学生学号:"+wen[w2].getstunumber());
                             System.out.println("                          学生姓名:"+wen[w2].getname());
                             System.out.println("                          高等数学成绩:"+wen[w2].getmathematicsscore());
                             System.out.println("                          英语成绩:"+wen[w2].getenglishiscore());
                             System.out.println("                          计算机网络成绩:"+wen[w2].getnetworkscore());
                             System.out.println("                          数据库成绩:"+wen[w2].getdatabasescore());
                             System.out.println("                          软件工程成绩:"+wen[w2].getsoftwarescore());
                            dayin6();
                             dayin2();
                             w6=scan.next();
                             if(w6.equals("N"))
                             {
                                 dayin4(w2,d1,d2,d3,d4,d5);
                                 zhi2=true;
                             }
                             else
                                 zhi2=false;
                          break;
                       case 4:
                          dayin3();
                         System.out.println("                          学生学号:"+wen[w2].getstunumber());
                         System.out.println("                          学生姓名:"+wen[w2].getname());
                         System.out.println("                          请输入修改后的数据库成绩:XXX");
                         dayin2();
                         wen[w2].setdatabasescore(scan.nextDouble());
                         dayin3();
                             System.out.println("                          学生学号:"+wen[w2].getstunumber());
                             System.out.println("                          学生姓名:"+wen[w2].getname());
                             System.out.println("                          高等数学成绩:"+wen[w2].getmathematicsscore());
                             System.out.println("                          英语成绩:"+wen[w2].getenglishiscore());
                             System.out.println("                          计算机网络成绩:"+wen[w2].getnetworkscore());
                             System.out.println("                          数据库成绩:"+wen[w2].getdatabasescore());
                             System.out.println("                          软件工程成绩:"+wen[w2].getsoftwarescore());
                             dayin6();
                            dayin2();
                             w6=scan.next();
                             if(w6.equals("N"))
                             {
                                 dayin4(w2,d1,d2,d3,d4,d5);
                                 zhi2=true;
                             }
                             else
                                 zhi2=false;
                             break;
                       case 5:
                          dayin3();
                         System.out.println("                          学生学号:"+wen[w2].getstunumber());
                         System.out.println("                          学生姓名:"+wen[w2].getname());
                         System.out.println("                          请输入修改后的软件工程成绩:XXX");
                         dayin2();
                         wen[w2].setsoftwarescore(scan.nextDouble());
                         dayin3();
                         dayin5(w2);
                             dayin6();
                             dayin2();
                             w6=scan.next();
                             if(w6.equals("N"))
                             {
                                 dayin4(w2,d1,d2,d3,d4,d5);
                                 zhi2=true;
                             }
                             else
                                 zhi2=false;
                           break;
                       default:
                            System.out.println("数字代码错误返回主菜单");
                           break;
                       }
         }
         else
         {
             System.out.println("学号输入错误");
             zhi2=false;
             oooo=true;
         }
         }
         zhi2=true;
        }
        }
    }
    //绩点计算
    static boolean xue5=true;
    static void jidain()
    {
        dayin7();
         System.out.println("                          请输入学生学号:XXXXXXXX");
         System.out.println("***********************************************");
         String w8=scan.next();
         int w2=0;
         for(;w2<5;w2++)
         {
             if(w8.equals(wen[w2].getstunumber()))
             {
                 xue5=true;
                 break;
             }
         }
         while(xue5)
         {
         double t1,t2,t3,t4,t5;
         t1=dayin8(wen[w2].getmathematicsscore());
         t2=dayin8(wen[w2].getenglishiscore()); 
         t3=dayin8(wen[w2].getnetworkscore());
         t4=dayin8(wen[w2].getdatabasescore());
         t5=dayin8(wen[w2].getnetworkscore());
         double tt;
         tt=(t1*4+t2*3+t3*4+t4*3+t5*2)/16;
         dayin7();
             System.out.println("                          学生学号:"+wen[w2].getstunumber());
             System.out.println("                          学生姓名:"+wen[w2].getname());
             System.out.println("                          高等数学绩点:"+t1);
             System.out.println("                          高等数学绩点:"+t2);
             System.out.println("                          计算机网络绩点:"+t3);
             System.out.println("                          数据库绩点:"+t4);
             System.out.println("                          软件工程绩点:"+t5);
             System.out.println("                          你的平均绩点绩点:"+String.format("%.2f", tt));
             if(((double)Math.round(tt*100)/100)>=2)
             System.out.println("                          提示信息:你的学分绩点达到毕业水平");
             else
                 System.out.println("                          提示信息:你的学分绩点没有达到毕业水平");
             dayin6();
             dayin2();
             String we3;
             we3=scan.next();
             if(we3.equals("N"))
             {
                 xue5=true;
             }
             else
                 xue5=false;
    }
    }
    //数字4所代表的的退出程序
    static void tuichu()
    {
        dayin2();
        System.out.println("            谢谢使用石家庄铁道大学软件工程系学生学籍管理系统2019版");
         System.out.println("                              制作人:温学智");
        dayin2();
    }
    static boolean xue1;
    public static void main(String[] args) 
    {
        shuzuchushihua();//进行数组初始化
        xue1=true;
        while (xue1) 
        { // 主菜单
             dayin2();
            System.out.println("                      石家庄铁道大学软件工程系");
             System.out.println("                          学生学籍管理系统2019版");
             dayin2();
            System.out.println("         1.学生考试成绩录入");
            System.out.println("         2.学生考试成绩修改");
            System.out.println("         3.计算学生成绩绩点");
            System.out.println("         4.退出学籍管理系统");
            dayin2();
        System.out.println("输入想要进行步骤的前面的数字");
        int i=scan.nextInt();
           switch(i)
           {
           case 1:
              luru();
               break;
           case 2:
               xiugai();
               break;
           case 3:
               jidain();
              break;
           case 4:
               tuichu();//退出系统
               xue1=false;
                 break;
           default:
                System.out.println("数字代码错误,该选项不存在。请从新输入");
               break;
           }
        }
    }

}

设计思路:将实验要求中的几个功能。分为几个部分,依次进行操作。并且定义几个函数,对于被多次输出内容的东西进行操作。在四个主部分中进行调用,以方便对其进行操作节省代码行数。应用布尔类型通过while等进行操作,完成相应的功能。主要应用简单的判断语句。在主函数中比较简单知识代用相应的函数就好了。  

遇到的问题:主要是在创建类的数组对象时对其进行初始化的问题。自己的表达方式不正确。还有就是对于数据进行四舍五入并保留两位有效数字时候遇到的问题。最后通过查阅资料翻看书籍得到了自己想要的答案。

自己的感受:体会到了java进行编程的方便性。许多的操作可以进行调用函数来完成相应的步骤操作。对import有了更好的理解。知道了对于编程首先要有好的思维,先对整体的架构进行分析,理清自己的思路。之后再进行编程这才是编辑代码的最重要的做法。思路比制剂上来打代码强多了。每一次打代码都要先理清自己的尔思路,明白怎样操作才能完成自己想要得到的东西。在java中编程要注意英文字母的大小写。学会对代码进行分成部分。这样一旦出现错误容易修改。还有就是不要等到编程完毕在进行调试。也要学会分开进行避免最后乱套。

代码运行结果:

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-09-11 18:53  喜欢爬的孩子  阅读(210)  评论(0编辑  收藏  举报