JAVA开学测试

  昨天参加了JAVA的开学测试,大致上完成了需要的功能,有个小细节因为数组越界问题到今天才实现,以下是修改完成后的代码。  

  

首先是ScoreInformation类来存储学生信息。

    

 

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 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;
    }
    
}

 

 

 

 

接着是ScoreManagement类来实现功能

 

  

/**    信1805-1
 * @author 张凯鑫
 *    20183551
 */
import java.util.*;
public class ScoreManagement {
    static ScoreInformation[] a = new ScoreInformation[5];
    static Scanner scanner = new Scanner(System.in);
    static    boolean pd=true;
    public static void main(String[] args) {
        a[0]=new ScoreInformation();
        a[1]=new ScoreInformation();
        a[2]=new ScoreInformation();
        a[3]=new ScoreInformation();
        a[4]=new ScoreInformation();
        a[0].setName("一号");
        a[0].setStunumber("20183551");
        a[1].setName("二号");
        a[1].setStunumber("20183552");
        a[2].setName("三号");
        a[2].setStunumber("20183553");
        a[3].setName("四号");
        a[3].setStunumber("20183554");
        a[4].setName("五号");
        a[4].setStunumber("20183555");    
        int xz;
        while(pd)
        {
            showMain();
            xz=scanner.nextInt();
            if(xz==1)
            {
                zhuchengjiluru();
            }
            else if(xz==2)
            {
                chengjixiugai();
            }
            else if(xz==3)
            {
                jidian();
            }
            else if(xz==4)
            {
                tuichu();
                pd=false;
            }
            else 
            {
                System.out.println("该选项不存在。");
            }
        }
    }
    public static void showMain()
    {
        System.out.println("***********************************************************\r\n" + 
                "        石家庄铁道大学软件工程系\r\n" + 
                "        学生学籍管理系统 2019 版\r\n" + 
                "***********************************************************\r\n" + 
                "        1、 学生考试成绩录入\r\n" + 
                "        2、 学生考试成绩修改\r\n" + 
                "        3、 计算学生成绩绩点\r\n" + 
                "        4、退出学籍管理系统\r\n" + 
                "**********************************************************"    );
    }
    public static void zhuchengjiluru()
    {
        System.out.println("***********************************************************\r\n" + 
                "    石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                "    学生考试成绩录入\r\n" + 
                "***********************************************************\r\n" + 
                "    请输入学生学号:XXXXXXXX\r\n" + 
                "**********************************************************");
        String stunumber = scanner.next();
        int sum;
        boolean pd2=true;
        for(sum=0;sum<5;sum++)
        {
            if(stunumber.equals(a[sum].getStunumber()))
                break;
        }
        if(sum==5)
        {
            pd2=false;
        }
        if(pd2) 
        {
        int i;
        for(i=1;i<=7;i++)
        {
            lurujiemian();
            System.out.println("        学生学号:"+a[sum].getStunumber());
            System.out.println("        学生姓名:"+a[sum].getName());
            if(i>1)
            {
                System.out.println("        高等数学成绩:"+a[sum].getMathematicsscore());
            }
            if(i>2)
            {
                System.out.println("        大学英语成绩:"+a[sum].getEnglishiscore());
            }
            if(i>3)
            {
                System.out.println("        计算机网络成绩:"+a[sum].getNetworkscore());
            }
            if(i>4)
            {
                System.out.println("        数据库成绩:"+a[sum].getDatabasescore());
            }
            if(i>5)
            {
                System.out.println("        软件工程成绩:"+a[sum].getSoftwarescore());
            }
            if(i>6)
            {
                System.out.println("    该学生成绩已录入完毕,是否提交(Y/N)");
                System.out.println("**********************************************************");
                String s=scanner.next();
                if(s.equals("Y"))
                {
                    break;
                }
                if(s.equals("N"))
                {
                    a[sum].setDatabasescore(0);
                    a[sum].setEnglishiscore(0);
                    a[sum].setMathematicsscore(0);
                    a[sum].setNetworkscore(0);
                    a[sum].setSoftwarescore(0);
                    zhuchengjiluru();
                }
            }
            if(i==1)
            {
                System.out.println("        请输入高等数学成绩:XXX");
                System.out.println("**********************************************************");
                double s=scanner.nextDouble();
                a[sum].setMathematicsscore(s);

            }
            else if(i==2)
            {
                System.out.println("        请输入大学英语成绩:XXX");
                System.out.println("**********************************************************");
                double s=scanner.nextDouble();
                a[sum].setEnglishiscore(s);
            }
            else if(i==3)
            {
                System.out.println("        请输入计算机网络成绩:XXX");
                System.out.println("**********************************************************");
                double s=scanner.nextDouble();
                a[sum].setNetworkscore(s);
            }
            else if(i==4)
            {
                System.out.println("        请输入数据库成绩:XXX");
                System.out.println("**********************************************************");
                double s=scanner.nextDouble();
                a[sum].setDatabasescore(s);
            }
            else if(i==5)
            {
                System.out.println("        请输入软件工程成绩:XXX");
                System.out.println("**********************************************************");
                double s=scanner.nextDouble();
                a[sum].setSoftwarescore(s);
            }
            System.out.println("**********************************************************");
        }
        }
        else
        {
            System.out.println("该学号不存在!");
            zhuchengjiluru();
        }
    }
    
    public static void lurujiemian()
    {
        System.out.println("***********************************************************\r\n" + 
                "    石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                "    学生考试成绩录入界面\r\n" + 
                "***********************************************************");
    }
    
    public static void chengjixiugai()
    {
        System.out.println("***********************************************************\r\n" + 
                "    石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                "        学生考试成绩修改界面\r\n" + 
                "***********************************************************\r\n" + 
                "        请输入学生学号:XXXXXXXX\r\n" + 
                "**********************************************************");
        String stunumber = scanner.next();
        int sum;
        double yuan=0;
        for(sum=0;sum<5;sum++)
        {
            if(stunumber.equals(a[sum].getStunumber()))
                break;
        }
        System.out.println("***********************************************************\r\n" + 
                "    石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                "        学生考试成绩录入\r\n" + 
                "***********************************************************\r\n" + 
                "        学生学号:"+a[sum].getStunumber()+"\r\n"  + 
                "        学生姓名:"+a[sum].getName()+"\r\n" + 
                "        1、高等数学成绩:"+a[sum].getMathematicsscore()+"\r\n"  + 
                "        2、大学英语成绩:"+a[sum].getEnglishiscore()+"\r\n"  + 
                "        3、计算机网络成绩:"+a[sum].getNetworkscore()+"\r\n"  + 
                "        4、数据库成绩:"+a[sum].getDatabasescore()+"\r\n"  + 
                "        5、软件工程成绩:"+a[sum].getSoftwarescore()+"\r\n" + 
                "**********************************************************");
        int x=scanner.nextInt();
        System.out.println("***********************************************************\r\n" + 
                "    石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                "    学生考试成绩录入界面\r\n" + 
                "***********************************************************\r\n"+
                "        学生学号:"+a[sum].getStunumber()+"\r\n"  + 
                "        学生姓名:"+a[sum].getName() 
                );
        if(x==1)
        {
            System.out.println("        请输入修改后的高等数学成绩:XXX");
            System.out.println("**********************************************************");
            double s=scanner.nextDouble();
            yuan=a[sum].getMathematicsscore();
            a[sum].setMathematicsscore(s);
        }
        if(x==2)
        {
            System.out.println("        请输入修改后的大学英语成绩:XXX");
            System.out.println("**********************************************************");
            double s=scanner.nextDouble();
            yuan=a[sum].getEnglishiscore();
            a[sum].setEnglishiscore(s);
        }
        if(x==3)
        {
            System.out.println("        请输入修改后的计算机网络成绩:XXX");
            System.out.println("**********************************************************");
            double s=scanner.nextDouble();
            yuan=a[sum].getNetworkscore();
            a[sum].setNetworkscore(s);
        }
        if(x==4)
        {
            System.out.println("        请输入修改后的数据库成绩:XXX");
            System.out.println("**********************************************************");
            double s=scanner.nextDouble();
            yuan=a[sum].getDatabasescore();
            a[sum].setDatabasescore(s);
        }
        if(x==5)
        {
            System.out.println("        请输入修改后的软件工程成绩:XXX");
            System.out.println("**********************************************************");
            double s=scanner.nextDouble();
            yuan=a[sum].getSoftwarescore();
            a[sum].setSoftwarescore(s);
        }
        System.out.println("***********************************************************\r\n" + 
                "    石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                "        学生考试成绩录入\r\n" + 
                "***********************************************************\r\n" + 
                "        学生学号:"+a[sum].getStunumber()+"\r\n"  + 
                "        学生姓名:"+a[sum].getName()+"\r\n" + 
                "        1、高等数学成绩:"+a[sum].getMathematicsscore()+"\r\n"  + 
                "        2、大学英语成绩:"+a[sum].getEnglishiscore()+"\r\n"  + 
                "        3、计算机网络成绩:"+a[sum].getNetworkscore()+"\r\n"  + 
                "        4、数据库成绩:"+a[sum].getDatabasescore()+"\r\n"  + 
                "        5、软件工程成绩:"+a[sum].getSoftwarescore()+"\r\n" +
                "        该学生成绩已修改完毕,是否提交(Y/N)\r\n"+
                "**********************************************************");
        String xz=scanner.next();
        if(xz.equals("Y"))
        {return;}
        else if(xz.equals("N"))
        {
            if(x==1)
            {
                a[sum].setMathematicsscore(yuan);
            }
            if(x==2)
            {
                a[sum].setEnglishiscore(yuan);
            }
            if(x==3)
            {
                a[sum].setNetworkscore(yuan);
            }
            if(x==4)
            {
                a[sum].setDatabasescore(yuan);
            }
            if(x==5)
            {
                a[sum].setSoftwarescore(yuan);
            }
            chengjixiugai();
        }
    }
    
    public static void jidian()
    {
        System.out.println("***********************************************************\r\n" + 
                "    石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                "        学生考试成绩绩点计算界面\r\n" + 
                "***********************************************************\r\n" + 
                "        请输入学生学号:XXXXXXXX\r\n" + 
                "**********************************************************");
        String stunumber = scanner.next();
        int sum;
        for(sum=0;sum<5;sum++)
        {
            if(stunumber.equals(a[sum].getStunumber()))
                break;
        }
        boolean pd1=false;
        double zh=(jisuanjidian(a[sum].getDatabasescore())*3+jisuanjidian(a[sum].getEnglishiscore())*3
                    +jisuanjidian(a[sum].getMathematicsscore())*4+jisuanjidian(a[sum].getNetworkscore())*4
                    +jisuanjidian(a[sum].getSoftwarescore())*2)/16;
        if(zh>=2.0)
            pd1=true;
        if(pd1)
        {
            System.out.println("***********************************************************\r\n" + 
                    "    石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                    "    学生考试成绩绩点计算界面\r\n" + 
                    "***********************************************************\r\n" + 
                    "    学生学号:"+a[sum].getStunumber()+"\r\n" + 
                    "    学生姓名:"+a[sum].getName()+"\r\n" + 
                    "    1、高等数学成绩绩点:"+jisuanjidian(a[sum].getMathematicsscore())+"\r\n" + 
                    "    2、大学英语成绩绩点:"+jisuanjidian(a[sum].getEnglishiscore())+"\r\n" + 
                    "    3、计算机网络成绩绩点:"+jisuanjidian(a[sum].getNetworkscore())+"\r\n" + 
                    "    4、数据库成绩绩点:"+jisuanjidian(a[sum].getDatabasescore())+"\r\n" + 
                    "    5、软件工程成绩绩点:"+jisuanjidian(a[sum].getSoftwarescore())+"\r\n" + 
                    "    你的平均学分绩点为:"+zh+"\r\n" + 
                    "    提示信息:你的学分绩点已达到毕业要求!\r\n" + 
                    "    是否返回系统主界面:(Y/N)\r\n" + 
                    "**********************************************************");
        }
    if(!pd1)
    {
        System.out.println("***********************************************************\r\n" + 
                "    石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                "    学生考试成绩绩点计算界面\r\n" + 
                "***********************************************************\r\n" + 
                "    学生学号:"+a[sum].getStunumber()+"\r\n" + 
                "    学生姓名:"+a[sum].getName()+"\r\n" + 
                "    1、高等数学成绩绩点:"+jisuanjidian(a[sum].getMathematicsscore())+"\r\n" + 
                "    2、大学英语成绩绩点:"+jisuanjidian(a[sum].getEnglishiscore())+"\r\n" + 
                "    3、计算机网络成绩绩点:"+jisuanjidian(a[sum].getNetworkscore())+"\r\n" + 
                "    4、数据库成绩绩点:"+jisuanjidian(a[sum].getDatabasescore())+"\r\n" + 
                "    5、软件工程成绩绩点:"+jisuanjidian(a[sum].getSoftwarescore())+"\r\n" + 
                "    你的平均学分绩点为:"+zh+"\r\n" + 
                "    提示信息:你的学分绩点不满足毕业要求!\r\n" + 
                "    是否返回系统主界面:(Y/N)\r\n" + 
                "**********************************************************");
    }
    String s=scanner.next();
    if(s.equals("Y"))
        ;
    if(s.equals("N"))
    {
        pd=false;
    }
    }
    public static double jisuanjidian(double x)
    {
        double jd=0.0;
        if(x<60)
        ;
        if(x>=60&&x<=63.9)
            jd=1.0;
        if(x>=64&&x<=65.9)
            jd=1.5;
        if(x>=66&&x<=67.9)
            jd=1.7;
        if(x>=68&&x<=71.9)
            jd=2.0;
        if(x>=72&&x<=74.9)
            jd=2.3;
        if(x>=75&&x<=77.9)
            jd=2.7;
        if(x>=78&&x<=81.9)
            jd=3.0;
        if(x>=82&&x<=84.9)
            jd=3.3;
        if(x>=85&&x<=89.9)
            jd=3.7;
        if(x>=90)
            jd=4.0;
        return jd;
        
    }
    public static void tuichu()
    {
        System.out.println("***********************************************************\r\n" + 
                "  谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                "        制作人:张凯鑫\r\n" + 
                "***********************************************************");
    }
}

 

 

基本就是将各个功能分成不同的函数,一个函数来实现一个功能,具体有些地方的实现利用了不同的方法。

1、成绩录入界面,输入成绩后显示已经录入的成绩并提示下一项科目输入利用了for循环,因为已知需要运行几次,所以在第一次循环的时候提示输出高数成绩,第二次第三次等等依次输出,然后就是输出之前以前录入的成绩,可以设定判断条件,即当i大于第几次的时候便输出各种科目的成绩。

2、成绩修改界面也是使用if来判断修改哪个科目,但是在修改函数中要设置一个变量来存储要修改的科目的成绩,在用户修改结束选择“N”即不保存修改的时候来恢复原成绩。

3、绩点的计算是利用一个函数来计算出绩点的。

以下是程序运行截图。

 

主界面

 

 

成绩录入界面

 

 

 

录入成绩界面

1、

 2、

 

 3、

 

 

成绩修改界面

1、

 

 2、

 3、

 

 4、

 

 

绩点查询界面

1、

 2、

 

 

退出界面

 

posted @ 2019-09-10 17:58  Nevesettle  阅读(222)  评论(0编辑  收藏  举报