package zuoye1;
import java.io.IOException;
import java.util.Scanner;
public class ScoreManagement {
ScoreManagement s=new ScoreManagement();
//ScoreInfore[] ss= {new ScoreInfore("20183606","yan",0,0,0,0,0),new ScoreInfore("20183607","mei",0,0,0,0,0),new ScoreInfore("20183608","fan",0,0,0,0,0)};
//ss[1]=ScoreInfore("20183606","小晏",0,0,0,0,0);
public static void main(String[] args) throws IOException {
menu();
}
static ScoreInfore[] ss= {new ScoreInfore("20183606","yan",0,0,0,0,0),new ScoreInfore("20183607","mei",0,0,0,0,0),new ScoreInfore("20183608","fan",0,0,0,0,0)};
static void menu()throws IOException//定义菜单函数
{
System.out.println("*******************************");
System.out.println(" 石家庄铁道大学软件工程系 ");
System.out.println(" 学生学籍管理系统2019年版 ");
System.out.println("*******************************");
System.out.println(" 1.学生考试成绩录入 ");
System.out.println(" 2.学生考试 成绩修改 ");
System.out.println(" 3.计算学生成绩绩点 ");
System.out.println(" 4.退出学籍管理系统 ");
System.out.println("*******************************");
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
switch(a) {
case 1:add();menu();break;
case 2:change();menu();break;
case 3:jisuan();menu();break;
case 4:tuichu();break;
}
}
//成绩录入
static void add() throws IOException {
System.out.println("***********************************");
System.out.println("石家庄铁道大学软件工程系学生信息学籍管理系统2019版");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************");
System.out.println(" 请输入学生学号: ");
System.out.println("***********************************");
Scanner sc=new Scanner(System.in);
String num=sc.nextLine();
int flag = 1;
for(int i=0;i<3;i++)
{
if(num.equals(ss[i].getnum())) {
flag=1;
System.out.println(ss[i].getnum());
System.out.println(ss[i].getname());
System.out.println("请输入数学成绩:");
double chengji11=sc.nextDouble();
System.out.println("请输入英语成绩:");
double chengji21=sc.nextDouble();
System.out.println("请输入计算机网络成绩:");
double chengji31=sc.nextDouble();
System.out.println("请输入数据库成绩:");
double chengji41=sc.nextDouble();
System.out.println("请输入软工成绩:");
double chengji51=sc.nextDouble();
System.out.println("输入完毕,是否保存?Y/N");
Scanner u=new Scanner(System.in);
String r=u.nextLine();
switch(r) {
case "Y":ss[i].setmascore(chengji11);
ss[i].setenglishscore(chengji21);
ss[i].setnetworkscore(chengji31);
ss[i].setdatabasescore(chengji41);
ss[i].setsoftwarescore(chengji51);
break;
case "N":add();break;
}
break;
}
else flag=0;
}
if(flag==0)
{
System.out.println("输入错误,请重新输入");
menu();
}
}
//成绩修改
static void change() throws IOException
{
System.out.println("**********************************");
System.out.println("石家庄铁道大学软件工程系学生信息学籍管理系统2019版");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************");
System.out.println(" 请输入八位学生学号: ");
System.out.println("***********************************");
Scanner sc=new Scanner(System.in);
String num=sc.nextLine();//输入学号并进行判断
int flag = 1;
for(int i=0;i<3;i++) {
if(num.equals(ss[i].getnum())){
flag=1;
System.out.println(ss[i].getnum()+"\n"+ss[i].getname()+"\n"+ss[i].getmascore()+"\n"+ss[i].getenglishscore()+"\n"+ss[i].getnetworkscore()+"\n"+ss[i].getdatabasescore());
System.out.println(ss[i].getsoftwarescore());
System.out.println("请输入要修改的学科代号:");
System.out.println("1.数学");
System.out.println("2.英语");
System.out.println("3.计算机网络成绩");
System.out.println("4.数据库成绩");
System.out.println("5.软工成绩");
int a=sc.nextInt();//输入要修改的学科代号
switch(a) {
case 1: System.out.println("请输入要修改的数学成绩");double q=sc.nextDouble();ss[i].setmascore(q);break;
case 2:System.out.println("请输入要修改的英语成绩");double w=sc.nextDouble();ss[i].setenglishscore(w);break;
case 3:System.out.println("请输入要修改的计算机网络成绩");double e=sc.nextDouble();ss[i].setnetworkscore(e);break;
case 4:System.out.println("请输入要修改的数据库成绩");double r=sc.nextDouble();ss[i].setdatabasescore(r);break;
case 5:System.out.println("请输入要修改的软工成绩");double t=sc.nextDouble();ss[i].setsoftwarescore(t);break;
}
}
else flag=0;
}
if(flag==0) {
{
System.out.println("输入错误");
menu();
}
}
}
//成绩绩点
static void jisuan() {
System.out.println("**********************************");
System.out.println("石家庄铁道大学软件工程系学生信息学籍管理系统2019版");
System.out.println(" 学生考试成绩绩点计算界面 ");
System.out.println("***********************************");
System.out.println(" 请输入学生学号: ");
System.out.println("***********************************");
Scanner sc=new Scanner(System.in);
String num=sc.nextLine();
int flag=0;
for(int i=0;i<3;i++) {
if(num.equals(ss[i].getnum())) {
flag=1;
double q=0;
q=judge(ss[i].getmascore())*4+judge(ss[i].getenglishscore())*3+judge(ss[i].getnetworkscore())*4+judge(ss[i].getdatabasescore())*3+judge(ss[i].getsoftwarescore())*2;
double w=q/16;
System.out.println("学号:"+ss[i].getnum());
System.out.println("姓名:"+ss[i].getname());
System.out.println("数学的绩点为:"+judge(ss[i].getmascore()));
System.out.println("英语的绩点为:"+judge(ss[i].getenglishscore()));
System.out.println("计算机网络成绩的绩点为:"+judge(ss[i].getnetworkscore()));
System.out.println("数据库成绩绩点为:"+judge(ss[i].getdatabasescore()));
System.out.println("软工成绩绩点为:"+judge(ss[i].getsoftwarescore()));
System.out.println(String.format("%.2f", w));
}
}
}
//判断学分绩点的函数
static double judge(double ww) {
double jidian = 0;
if(ww<60) jidian=0;
if(ww>=60&&ww<63.9) jidian=1.0;
if(ww>=64&&ww<65.9) jidian=1.5;
if(ww>=66&&ww<67.9) jidian=1.7;
if(ww>=68&&ww<71.9) jidian=2.0;
if(ww>=72&&ww<74.9) jidian=2.3;
if(ww>=75&&ww<77.9) jidian=2.7;
if(ww>=78&&ww<81.9) jidian=3.0;
if(ww>=82&&ww<84.9) jidian=3.3;
if(ww>=85&&ww<89.9) jidian=3.7;
if(ww>=90) jidian=4.0;
return jidian;
}
//退出界面
static void tuichu() {
System.out.println("***********************************");
System.out.println("石家庄铁道大学软件工程系学生信息学籍管理系统2019版");
System.out.println(" 制作人:张子一 ");
System.out.println("***********************************");
}
}
程序运行结果:

在编程过程中,我遇到了很多困难,刚开始都没弄清楚两个类的结构。对各个方法的过程也没有头绪。
在编程过程中,对Java的语法有了一个大概的认识,认识到了良好的编程习惯的重要性。学会了对象数组是我这次最大的收获。我还缺少编程经验,以后要加强练习。