Java 第一次课堂测试总结。

Java 第一次课堂测试总结。

         昨天参加了JAVA的开学测试,课上没有完成计算基点的功能,以下是修改完成后的代码。

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

//信1805-1 王正帅 20183544
package kaoshi;

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

}

接着是ScoreManagement类来实现功能

//信1805-1 王正帅 20183544

package kaoshi;

import java.util.Scanner;

public class ScoreManagement {
    static int t=0;
    static String B;
    static int sum=5;
    static double []r=new double[6];
    static double jl=0.0;
    static Scanner sc=new Scanner(System.in);
    static ScoreInformation[] a = new ScoreInformation[1000];

public static void fristcreate() {
        a[0]=new ScoreInformation("20183544","王正帅",0.0,0.0,0.0,0.0,0.0);
        a[1]=new ScoreInformation("20183545","万佳俊",0.0,0.0,0.0,0.0,0.0);
        a[2]=new ScoreInformation("20183546","杨晓",0.0,0.0,0.0,0.0,0.0);
        a[3]=new ScoreInformation("20183547","韩勇",0.0,0.0,0.0,0.0,0.0);
        a[4]=new ScoreInformation("20183548","崔星宇",0.0,0.0,0.0,0.0,0.0);
        
    }
    
    
public static int systemMenu() {
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学信息科学与技术学院 
" + 
            "          学生学籍信息管理系统 2019版 
" + 
            "**************************************************************** 
" + 
            "            1、 学生考试成绩录入; 
" + 
            "            2、 学生考试成绩修改; 
" + 
            "            3、 计算学生成绩绩点; 
" + 
            "            4、 退出学籍管理系统; 
" + 
            "****************************************************************");
    int ch;
    //System.out.println("请选择:");
    ch = sc.nextInt();
    return ch;    
    }

public static String inputMenu() {
    
    String stunumber1;
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "请输入学生学号(学号必须是八位):");
    stunumber1=sc.next();
            System.out.println("****************************************************************");
            return stunumber1;
}
public static void menu1() {
    double b=0.0;
    
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                  请输入高等数学成绩:");
    b=sc.nextDouble();
    a[t].setMathematicsscore(b);
            System.out.println("****************************************************************");
            menu2();
} 

public static void menu2() {
    double b=0.0;
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                    高等数学成绩:"+a[t].getMathematicsscore()+"
"+
            "            请输入大学英语成绩:");
    b=sc.nextDouble();
    a[t].setEnglishiscore(b);
            System.out.println("****************************************************************");
            menu3();
}

public static void menu3() {
    double b=0.0;
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                    高等数学成绩:"+a[t].getMathematicsscore()+"
"+
            "                    大学英语成绩:"+a[t].getEnglishiscore()+"
"+
            "           请输入计算机网络成绩:");
    b=sc.nextDouble();
    a[t].setNetworkscore(b);
            System.out.println("****************************************************************");

            menu4();
}

public static void menu4() {
    double b=0.0;
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                    高等数学成绩:"+a[t].getMathematicsscore()+"
"+
            "                    大学英语成绩:"+a[t].getEnglishiscore()+"
"+
            "                 计算机网络成绩:"+a[t].getNetworkscore()+"
"+
            "                 请输入数据库成绩:");
    b=sc.nextDouble();
    a[t].setDatabasescore(b);
            System.out.println("****************************************************************");
            menu5();
}

public static void menu5() {
    double b=0.0;
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "                        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                    高等数学成绩:"+a[t].getMathematicsscore()+"
"+
            "                    大学英语成绩:"+a[t].getEnglishiscore()+"
"+
            "                 计算机网络成绩:"+a[t].getNetworkscore()+"
"+
            "                        数据库成绩:"+a[t].getDatabasescore()+"
"+
            "                 请输入软件工程成绩:");
    b=sc.nextDouble();
    a[t].setSoftwarescore(b);
            System.out.println("****************************************************************");
            menu6();
}

public static void menu6() {
    String b;
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                    高等数学成绩:"+a[t].getMathematicsscore()+"
"+
            "                    大学英语成绩:"+a[t].getEnglishiscore()+"
"+
            "                 计算机网络成绩:"+a[t].getNetworkscore()+"
"+
            "                        数据库成绩:"+a[t].getDatabasescore()+"
"+
            "                    软件工程成绩:"+a[t].getSoftwarescore()+"
"+
            "该学生的成绩已录入,是否提交(Y/N)");
    b=sc.next();
    if(b.compareTo("N")==0) {
        a[t]=new ScoreInformation(a[t].getStunumber(),a[t].getName(),0.0,0.0,0.0,0.0,0.0);
        luru();
    }
    else {
        return;
    }
            System.out.println("****************************************************************");
            
}

public static void luru() {
    int f=0;
    String stunumber2=inputMenu();
    for(int i=0;i<5;i++) {
        if(a[i].getStunumber().compareTo(stunumber2)==0) {
            t=i;
            f=1;
            menu1();
            break;
        }
        
    }
    if(f==0) {
        System.out.println("该学号不存在!");
        stunumber2=inputMenu();
        luru();
        return;
    }
    
    
}

public static String gaiMenu() {
    
    String stunumber1;
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "              学生考试成绩修改 
" + 
            "**************************************************************** 
" + 
            "请输入学生学号(学号必须是八位):");
    stunumber1=sc.next();
            System.out.println("****************************************************************");
            return stunumber1;
}

public static void  gai() {
int f=0;    
   String stunumber2=gaiMenu();
    for(int i=0;i<5;i++) {
        if(a[i].getStunumber().compareTo(stunumber2)==0) {
            t=i;
            f=1;
            int z=menu10();
            while(true) {
                switch(z) {
                case 1:
                    menu11();
                    if(B.equals("N")) {
                        a[t].setMathematicsscore(jl);
                        gai();
                    }
                break;
                case 2:
                    menu12();
                    if(B.equals("N")) {
                        a[t].setEnglishiscore(jl);;
                        gai();
                    }
                    break;
                case 3:
                    menu13();
                    if(B.equals("N")) {
                        a[t].setNetworkscore(jl);;
                        gai();
                    }
                    break;
                case 4:
                    menu14();
                    if(B.equals("N")) {
                        a[t].setDatabasescore(jl);;
                        gai();
                    }
                    break;
                case 5:
                    menu15();
                    if(B.equals("N")) {
                        a[t].setSoftwarescore(jl);;
                        gai();
                    }
                    
                    break;
            
                }
                break;
            }
            
        }
        
    }
    if(f==0) {
        System.out.println("该学号不存在!");
        stunumber2=inputMenu();
        luru();
        return;
    }
}

public static int  menu10() {
    int f=0;
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "           1,等数学成绩:"+a[t].getMathematicsscore()+"
"+
            "           2,大学英语成绩:"+a[t].getEnglishiscore()+"
"+
            "           3,计算机网络成绩:"+a[t].getNetworkscore()+"
"+
            "           4, 数据库成绩:"+a[t].getDatabasescore()+"
"+
            "           5,软件工程成绩:"+a[t].getSoftwarescore()+"
"+
            "**************************************************************** \n");
    f=sc.nextInt();
    return f;
}

public static void menu11() {
    double b=0.0;
    
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                  请输入修改后的高等数学成绩:");
    b=sc.nextDouble();
    jl=a[t].getMathematicsscore();
    a[t].setMathematicsscore(b);
            System.out.println("****************************************************************");
            menu16();
} 

public static void menu12() {
    double b=0.0;
    
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "         学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                  请输入修改后的英语成绩:");
    b=sc.nextDouble();
    jl=a[t].getEnglishiscore();
    a[t].setMathematicsscore(b);
            System.out.println("****************************************************************");
            menu16();
} 

public static void menu13() {
    double b=0.0;
    
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                  请输入修改后的计算机网络成绩:");
    b=sc.nextDouble();
    jl=a[t].getNetworkscore();
    a[t].setNetworkscore(b);
            System.out.println("****************************************************************");
            menu16();
} 

public static void menu14() {
    double b=0.0;
    
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                  请输入修改后的数据库成绩:");
    b=sc.nextDouble();
    jl=a[t].getDatabasescore();
    a[t].setDatabasescore(b);
    
            System.out.println("****************************************************************");
            menu16();
} 

public static void menu15() {
    double b=0.0;
    
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                  请输入修改后的软件工程成绩:");
    b=sc.nextDouble();
    jl=a[t].getSoftwarescore();
    a[t].setSoftwarescore(b);
            System.out.println("****************************************************************");
            menu16();
} 

public static void menu16() {
    String b;
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩录入 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "                    高等数学成绩:"+a[t].getMathematicsscore()+"
"+
            "                    大学英语成绩:"+a[t].getEnglishiscore()+"
"+
            "                 计算机网络成绩:"+a[t].getNetworkscore()+"
"+
            "                        数据库成绩:"+a[t].getDatabasescore()+"
"+
            "                    软件工程成绩:"+a[t].getSoftwarescore()+"
"+
            "该学生的成绩已修改完毕,是否提交(Y/N)");
    b=sc.next();
    B=b;
    if(b.compareTo("N")==0) {
        //a[t]=new ScoreInformation(a[t].getStunumber(),a[t].getName(),0.0,0.0,0.0,0.0,0.0);
        //gai();
    }
    else {
        return;
    }
            System.out.println("****************************************************************");
            
}

public static String menu21() {
    String str;    
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "         学生考试成绩基点计算 
" + 
            "**************************************************************** 
" + 
            
            "                  请输入学生学号(学号为八位):");
    str=sc.next();
    System.out.println("****************************************************************");
    return str;
    
}

public static void show() {
    String b;
    System.out.println("*************************************************************** 
" + 
            "          石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
" + 
            "        学生考试成绩基点计算 
" + 
            "**************************************************************** 
" + 
            "                         学生学号:"+a[t].getStunumber()+"
"+
            "                         学生姓名:"+a[t].getName()+"
"+
            
            "            1,高等数学成绩基点:"+r[0]+"
"+
            "            2,大学英语成绩基点:"+r[1]+"
"+
            "            3,计算机网络成绩基点:"+r[2]+"
"+
            "            4, 数据库成绩基点:"+r[3]+"
"+
            "            5, 软件工程成绩基点:"+r[4]);
    if(pingjun()>=2)
        System.out.println("         你的学分绩点已达到毕业要求!");
    else
        System.out.println("         你的学分绩点不满足毕业要求!");
            System.out.println("                是否返回系统主界面(Y/N)");
    b=sc.next();
            System.out.println("****************************************************************");
            
    if(b.equals("Y"))
        return;
    else
    {}
}

public static void jidian() {    
    String s=menu21();
    int f=0;
    for(int i=0;i<5;i++) {
        if(s.equals(a[i].getStunumber())) {
            t=i;
            f=1;
            r[0]=jidianJisuan(a[i].getMathematicsscore());
            r[1]=jidianJisuan(a[i].getEnglishiscore());
            r[2]=jidianJisuan(a[i].getNetworkscore());
            r[3]=jidianJisuan(a[i].getDatabasescore());
            r[4]=jidianJisuan(a[i].getSoftwarescore());
            show();
            break;
        }
    }
    if(f==0) {
        System.out.println("此学号不存在");
        jidian();
    }
}

public static double pingjun() {
    double p1=0,p2=0,p=0.0;
    p1=r[0]*4+r[1]*3+r[2]*4+r[3]*3+r[4]*2;
    p2=16;
    p=p1/p2;
    
    return p;
}

public static double jidianJisuan(double j) {
    double k=0.0;
    if(j>=90) {
        k=4.0;
        return k;
    }
    if(j<60) {
        k=0.0;
        return k;
    }
    if(k>=72) {
        if(k<=74.9)
            k=2.3;
        if(k<=77.9)
            k=2.7;
        if(k<=81.9)
            k=3.0;
        if(k<=84.9)
            k=3.3;
        if(k<=89.9)
            k=3.7;        
    }
    else {
        if(k>=68)
            k=2.0;
        if(k>=66)
            k=1.7;
        if(k>=64)
            k=1.5;
        if(k>=60)
            k=1.0;
    }
    
    return k;
}

public static void tuichu() {
    System.out.println("*************************************************************** 
" + 
            "谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版
"+
            "                                 制作人:王正帅
"+
            "****************************************************************");
}

public static void main(String[] args) {
    fristcreate() ;
    
    int c1=0;
    c1=systemMenu();
    while(true){
        switch(c1) {
        case 1:luru();break;
        case 2:gai();break;
        case 3:jidian();break;
        case 4:tuichu();return;
        default :System.out.println("该选型不存在");break;
        }
        c1=systemMenu();
    }
    
}

}

下面是我的设计思路:

 一,编写数据类ScoreInformation来创建心得数据类型以完成题目要求。

二,在同一个包里编写主ScoreManagement

      1,编写初始化信息函数void fristcreate(),其功能是初始化五个学生的姓名和学号。  

      2,构画主菜单函数:int systemMenu()其功能是显示主菜单,并返回用户的选择。

      3,构画选择录入菜单:String inputMenu()其功能是显示选择录入菜单,并返回用户选择录入哪一个学生的学号。

      4,构画录入菜单:void menu1(), void menu2()... void menu5(),其功能是显示菜单及已录入的信息。

      5,编写录入函数void luru(),其功能是控制其他函数完成录入功能。

      6,编写主函数,对主菜单,和录入功能进行检测。

      7,构画选择修改主菜单函数String gaiMenu(),其功能是显示菜单,并返回用户需要修改学信息的学号。

      8,构画选择修改那课成绩的菜单,并返回用户的选择的函数 int  menu10();

      9,构画函数 void menu11(),void menu12()...void menu16()其功能是显示菜单及已修改学生的信息。

      10,编写函数 void  gai();其功能是控制其他函数完成修改功能。

      11,编写函数 double jidianJisuan(double j),用于计算各科成绩的基点。

      12,编写函数 double pingjun() ,用于求所选学生的平均基点。

      13,编写函数 void show()显示所选学生的各科基点情况。

      14,编写函数 void  jidian();其功能是控制其他函数完成计算学生成绩绩点功能。

      15,编写函数void tuichu() ,用于退出程序。

      16,编写主函数,对程序功能进行检测。 

以下是程序运行测试。

主菜单:

录入: 

 

 

 

 

 

 

 

 修改:

 

 计算基点:

退出:

原文地址:https://www.cnblogs.com/20183544-wangzhengshuai/p/11505237.html