博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA开学测试
阅读量:5109 次
发布时间:2019-06-13

本文共 17257 字,大约阅读时间需要 57 分钟。

  昨天参加了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、

 

 

退出界面

 

转载于:https://www.cnblogs.com/wuren-best/p/11498658.html

你可能感兴趣的文章
jdk环境变量配置
查看>>
Hbase basic
查看>>
关于js中的作用域
查看>>
安装 Express
查看>>
EnterKey转换为TabKey(兼容IE,Firefox)
查看>>
包含列的索引:SQL Server索引的阶梯级别5
查看>>
Python 中的重点来了 : 迭代器 生成器
查看>>
myeclipse插件安装
查看>>
浙江省第十二届省赛 Beauty of Array(思维题)
查看>>
NOIP2013 提高组 Day1
查看>>
UVA 1602 Lattice Animals
查看>>
bzoj千题计划219:bzoj1568: [JSOI2008]Blue Mary开公司
查看>>
[笔记]STM32使用非8M晶振时如何修改代码
查看>>
个人对vue生命周期的理解
查看>>
cocos2dx 3.x simpleAudioEngine 长音效被众多短音效打断问题
查看>>
Section 1.2 dualpal
查看>>
存储(硬件方面的一些基本术语)
查看>>
Dithering-视觉的奇特现象
查看>>
观察者模式
查看>>
转】MyEclipse使用总结——MyEclipse文件查找技巧
查看>>