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,编写主函数,对程序功能进行检测。
以下是程序运行测试。
主菜单:
录入:
修改:
计算基点:
退出: