这次开学测试要求做一个信息系统,该系统完成学生成绩录入,修改,计算学分积点和查询学生成绩的简单功能。
下面是我写的代码
//信1805-3班 20183641 赵树琪
package test;
import java.util.Scanner;
public class ScoreInformation {
static double M1;
static double E1;
static double N1;
static double D1;
static double S1;
static double Z;
private String stunumber;
private String name;
private double mathematicsscore;//高数学分4
private double englishiscore;//英语学分3
private double networkscore;//计网学分 4
private double databasescore;//数据库学分3
private double softwarescore;//软工学分2
public void setstunumber(String x) {
stunumber=x;
}
public String getstunumber() {
return stunumber;
}
public void setname(String x) {
name=x;
}
public String getname() {
return name;
}
public void setmathematicsscore(double x) {
mathematicsscore=x;
}
public double getmathematicsscore() {
return mathematicsscore;
}
public void setenglishiscore(double x) {
englishiscore=x;
}
public double getenglishiscore() {
return englishiscore;
}
public void setnetworkscore(double x) {
networkscore=x;
}
public double getnetworkscore() {
return networkscore;
}
public void setdatabasescore(double x) {
databasescore=x;
}
public double getdatabasescore() {
return databasescore;
}
public void setsoftwarescore(double x) {
softwarescore=x;
}
public double getsoftwarescore() {
return softwarescore;
}
/*public 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;
}*/
} //信1805-3班 20183641 赵树琪
package test;
import java.util.Scanner;
class jiemian {
public static void huajiemian() {
System.out.println("***********************************************************\n");
System.out.println(" 石家庄铁道大学软件工程系\n");
System.out.println(" 学生学籍管理系统 2019 版\n");
System.out.println("***********************************************************\n");
System.out.println(" 1、学生考试成绩录入\n");
System.out.println(" 2、学生考试成绩修改\n");
System.out.println(" 3、计算学生成绩绩点\n");
System.out.println(" 4、退出学籍管理系统\n");
System.out.println("**********************************************************\n");
}
}
public class ScoreManagement {
static double E2;
static double M2;
static double N2;
static double D2;
static double S2;
public void luru() {
System.out.println("***********************************************************\n");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n");
System.out.println(" 学生考试成绩录入\n");
System.out.println("***********************************************************\n");
System.out.println(" 请输入学生学号:XXXXXXXX\n");
System.out.println("**********************************************************\n");
}
public void xiugai() {
System.out.println("***********************************************************\n");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n");
System.out.println(" 学生考试成绩修改界面\n");
System.out.println("***********************************************************\n");
System.out.println(" 请输入学生学号:XXXXXXXX\n");
System.out.println("**********************************************************\n");
}
public void jidian() {
System.out.println("***********************************************************\n");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n");
System.out.println(" 学生考试成绩绩点计算界面\n");
System.out.println("***********************************************************\n");
System.out.println(" 请输入学生学号:XXXXXXXX\n");
System.out.println("**********************************************************\n");
}
public static void main(String[] args) {
ScoreInformation[] a=new ScoreInformation[5];
String n1="20183641",n2="20180001",n3="20180002",n4="20180003",n5="20180004";
String m1="赵树琪",m2="张三",m3="李四",m4="王五",m5="哈哈";
a[0]=new ScoreInformation();
a[0].setstunumber(n1);
a[0].setname(m1);
a[1]=new ScoreInformation();
a[1].setstunumber(n2);
a[1].setname(m2);
a[2]=new ScoreInformation();
a[2].setstunumber(n3);
a[2].setname(m3);
a[3]=new ScoreInformation();
a[3].setstunumber(n4);
a[3].setname(m4);
a[4]=new ScoreInformation();
a[4].setstunumber(n5);
a[4].setname(m5);
int x;
Scanner input=new Scanner(System.in);
while(true) {
jiemian shuchu=new jiemian();
shuchu.huajiemian();
ScoreManagement z=new ScoreManagement();//用于调用函数
x=input.nextInt();
int q=0;
if(x==1) {
z.luru();
String num;
while(true) {
num=input.next();
int flag=1;
for(int i=0;i<5;i++) {
if(num.equals(a[i].getstunumber())) {
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[i].getstunumber());
System.out.println(" 学生姓名: "+a[i].getname());
System.out.println(" 请输入高等数学成绩:");
System.out.println("***********************************************************");
flag=0;
q=i;
break;
}
}
if(flag==0) break;
else {
System.out.println("该学号不存在");
z.luru();
}
}
double M=input.nextDouble();
a[q].setmathematicsscore(M);
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore());
System.out.println(" 请输入大学英语成绩:");
System.out.println("***********************************************************");
double E=input.nextDouble();
a[q].setenglishiscore(E);
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore());
System.out.println(" 大学英语成绩:"+a[q].getenglishiscore());
System.out.println(" 请输入计算机网络成绩:");
System.out.println("***********************************************************");
double N=input.nextDouble();
a[q].setnetworkscore(N);
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore());
System.out.println(" 大学英语成绩:"+a[q].getenglishiscore());
System.out.println(" 计算机网络成绩:"+a[q].getnetworkscore());
System.out.println(" 请输入数据库成绩:");
System.out.println("***********************************************************");
double D=input.nextDouble();
a[q].setdatabasescore(D);
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore());
System.out.println(" 大学英语成绩:"+a[q].getenglishiscore());
System.out.println(" 计算机网络成绩:"+a[q].getnetworkscore());
System.out.println(" 数据库成绩:"+a[q].getdatabasescore());
System.out.println(" 请输入软件工程成绩:");
System.out.println("***********************************************************");
double S=input.nextDouble();
a[q].setsoftwarescore(S);
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore());
System.out.println(" 大学英语成绩:"+a[q].getenglishiscore());
System.out.println(" 计算机网络成绩:"+a[q].getnetworkscore());
System.out.println(" 数据库成绩:"+a[q].getdatabasescore());
System.out.println(" 软件工程成绩:"+a[q].getsoftwarescore());
System.out.println(" 该学生成绩已录入完毕,是否提交(Y/N) ");
System.out.println("***********************************************************");
String aa=input.next();
if(aa.equals("N"))
{
a[q].setmathematicsscore(0);
a[q].setenglishiscore(0);
a[q].setnetworkscore(0);
a[q].setdatabasescore(0);
a[q].setsoftwarescore(0);
}
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore());
System.out.println(" 大学英语成绩:"+a[q].getenglishiscore());
System.out.println(" 计算机网络成绩:"+a[q].getnetworkscore());
System.out.println(" 数据库成绩:"+a[q].getdatabasescore());
System.out.println(" 软件工程成绩:"+a[q].getsoftwarescore());
System.out.println("***********************************************************");
M2=a[q].getmathematicsscore();
E2=a[q].getenglishiscore();
N2=a[q].getnetworkscore();
D2=a[q].getdatabasescore();
S2=a[q].getsoftwarescore();
}
if(x==2) {
z.xiugai();
String idd;
while(true) {
idd=input.next();
int flag1=1;
for(int i=0;i<5;i++) {
if(idd.equals(a[i].getstunumber())) {
flag1=0;
q=i;
}
}
if(flag1==1) {
System.out.println("该学号不存在");
z.xiugai();
}
else {
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore());
System.out.println(" 大学英语成绩:"+a[q].getenglishiscore());
System.out.println(" 计算机网络成绩:"+a[q].getnetworkscore());
System.out.println(" 数据库成绩:"+a[q].getdatabasescore());
System.out.println(" 软件工程成绩:"+a[q].getsoftwarescore());
System.out.println("***********************************************************");
System.out.println("请输入要修改的成绩的序号:");
int b=input.nextInt();
switch(b) {
case 1:
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 输入修改后高等数学成绩: ");
System.out.println("***********************************************************");
double c=input.nextDouble();
a[q].setmathematicsscore(c);
break;
case 2:
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 输入修改后大学英语成绩: ");
System.out.println("***********************************************************");
double d=input.nextDouble();
a[q].setenglishiscore(d);
break;
case 3:
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 输入修改后计算机网络成绩: ");
System.out.println("***********************************************************");
double e=input.nextDouble();
a[q].setnetworkscore(e);
break;
case 4:
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 输入修改后数据库成绩: ");
System.out.println("***********************************************************");
double f=input.nextDouble();
a[q].setdatabasescore(f);
break;
case 5:
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 输入修改后软件工程成绩: ");
System.out.println("***********************************************************");
double g=input.nextDouble();
a[q].setsoftwarescore(g);
break;
}
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 1.高等数学成绩:"+a[q].getmathematicsscore());
System.out.println(" 2.大学英语成绩:"+a[q].getenglishiscore());
System.out.println(" 3.计算机网络成绩:"+a[q].getnetworkscore());
System.out.println(" 4.数据库成绩:"+a[q].getdatabasescore());
System.out.println(" 5.软件工程成绩:"+a[q].getsoftwarescore());
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N) ");
System.out.println("***********************************************************");
break;
}
}
String aa1=input.next();
if(aa1.equals("N"))
{
a[q].setmathematicsscore(M2);
a[q].setenglishiscore(E2);
a[q].setnetworkscore(N2);
a[q].setdatabasescore(D2);
a[q].setsoftwarescore(S2);
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 1.高等数学成绩:"+a[q].getmathematicsscore());
System.out.println(" 2.大学英语成绩:"+a[q].getenglishiscore());
System.out.println(" 3.计算机网络成绩:"+a[q].getnetworkscore());
System.out.println(" 4.数据库成绩:"+a[q].getdatabasescore());
System.out.println(" 5.软件工程成绩:"+a[q].getsoftwarescore());
System.out.println("***********************************************************");
}
}
if(x==3) {
z.jidian();
String iddd=input.next();
while(true)
{
int flag=1;
for(int i=0;i<5;i++)
{
if(iddd.equals(a[i].getstunumber()))
{
flag=0;
q=i;
break;
}
}
if(flag==0) break;
else
{
System.out.println("该学号不存在");
z.jidian();
}
}
if(a[q].getmathematicsscore()>=90) a[q].M1=4;
else if(a[q].getmathematicsscore()<90&&a[q].getmathematicsscore()>=85) a[q].M1=3.7;
else if(a[q].getmathematicsscore()<85&&a[q].getmathematicsscore()>=82) a[q].M1=3.3;
else if(a[q].getmathematicsscore()<82&&a[q].getmathematicsscore()>=78) a[q].M1=3.0;
else if(a[q].getmathematicsscore()<78&&a[q].getmathematicsscore()>=75) a[q].M1=2.7;
else if(a[q].getmathematicsscore()<75&&a[q].getmathematicsscore()>=72) a[q].M1=2.3;
else if(a[q].getmathematicsscore()<72&&a[q].getmathematicsscore()>=68) a[q].M1=2.0;
else if(a[q].getmathematicsscore()<68&&a[q].getmathematicsscore()>=66) a[q].M1=1.7;
else if(a[q].getmathematicsscore()<66&&a[q].getmathematicsscore()>=64) a[q].M1=1.5;
else if(a[q].getmathematicsscore()<64&&a[q].getmathematicsscore()>=60) a[q].M1=1.0;
else a[q].M1=0;
if(a[q].getenglishiscore()>=90) a[q].E1=4;
else if(a[q].getenglishiscore()<90&&a[q].getenglishiscore()>=85) a[q].E1=3.7;
else if(a[q].getenglishiscore()<85&&a[q].getenglishiscore()>=82) a[q].E1=3.3;
else if(a[q].getenglishiscore()<82&&a[q].getenglishiscore()>=78) a[q].E1=3.0;
else if(a[q].getenglishiscore()<78&&a[q].getenglishiscore()>=75) a[q].E1=2.7;
else if(a[q].getenglishiscore()<75&&a[q].getenglishiscore()>=72) a[q].E1=2.3;
else if(a[q].getenglishiscore()<72&&a[q].getenglishiscore()>=68) a[q].E1=2.0;
else if(a[q].getenglishiscore()<68&&a[q].getenglishiscore()>=66) a[q].E1=1.7;
else if(a[q].getenglishiscore()<66&&a[q].getenglishiscore()>=64) a[q].E1=1.5;
else if(a[q].getenglishiscore()<64&&a[q].getenglishiscore()>=60) a[q].E1=1.0;
else a[q].E1=0;
if(a[q].getnetworkscore()>=90) a[q].N1=4;
else if(a[q].getnetworkscore()<90&&a[q].getnetworkscore()>=85) a[q].N1=3.7;
else if(a[q].getnetworkscore()<85&&a[q].getnetworkscore()>=82) a[q].N1=3.3;
else if(a[q].getnetworkscore()<82&&a[q].getnetworkscore()>=78) a[q].N1=3.0;
else if(a[q].getnetworkscore()<78&&a[q].getnetworkscore()>=75) a[q].N1=2.7;
else if(a[q].getnetworkscore()<75&&a[q].getnetworkscore()>=72) a[q].N1=2.3;
else if(a[q].getnetworkscore()<72&&a[q].getnetworkscore()>=68) a[q].N1=2.0;
else if(a[q].getnetworkscore()<68&&a[q].getnetworkscore()>=66) a[q].N1=1.7;
else if(a[q].getnetworkscore()<66&&a[q].getnetworkscore()>=64) a[q].N1=1.5;
else if(a[q].getnetworkscore()<64&&a[q].getnetworkscore()>=60) a[q].N1=1.0;
else a[q].N1=0;
if(a[q].getdatabasescore()>=90) a[q].D1=4;
else if(a[q].getdatabasescore()<90&&a[q].getdatabasescore()>=85) a[q].D1=3.7;
else if(a[q].getdatabasescore()<85&&a[q].getdatabasescore()>=82) a[q].D1=3.3;
else if(a[q].getdatabasescore()<82&&a[q].getdatabasescore()>=78) a[q].D1=3.0;
else if(a[q].getdatabasescore()<78&&a[q].getdatabasescore()>=75) a[q].D1=2.7;
else if(a[q].getdatabasescore()<75&&a[q].getdatabasescore()>=72) a[q].D1=2.3;
else if(a[q].getdatabasescore()<72&&a[q].getdatabasescore()>=68) a[q].D1=2.0;
else if(a[q].getdatabasescore()<68&&a[q].getdatabasescore()>=66) a[q].D1=1.7;
else if(a[q].getdatabasescore()<66&&a[q].getdatabasescore()>=64) a[q].D1=1.5;
else if(a[q].getdatabasescore()<64&&a[q].getdatabasescore()>=60) a[q].D1=1.0;
else a[q].D1=0;
if(a[q].getsoftwarescore()>=90) a[q].S1=4;
else if(a[q].getsoftwarescore()<90&&a[q].getsoftwarescore()>=85) a[q].S1=3.7;
else if(a[q].getsoftwarescore()<85&&a[q].getsoftwarescore()>=82) a[q].S1=3.3;
else if(a[q].getsoftwarescore()<82&&a[q].getsoftwarescore()>=78) a[q].S1=3.0;
else if(a[q].getsoftwarescore()<78&&a[q].getsoftwarescore()>=75) a[q].S1=2.7;
else if(a[q].getsoftwarescore()<75&&a[q].getsoftwarescore()>=72) a[q].S1=2.3;
else if(a[q].getsoftwarescore()<72&&a[q].getsoftwarescore()>=68) a[q].S1=2.0;
else if(a[q].getsoftwarescore()<68&&a[q].getsoftwarescore()>=66) a[q].S1=1.7;
else if(a[q].getsoftwarescore()<66&&a[q].getsoftwarescore()>=64) a[q].S1=1.5;
else if(a[q].getsoftwarescore()<64&&a[q].getsoftwarescore()>=60) a[q].S1=1.0;
else a[q].S1=0;
a[q].Z=(a[q].M1*4+a[q].E1*3+a[q].N1*4+a[q].D1*3+a[q].S1*2)/16;
if(a[q].Z>=2)
{
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 1.高等数学成绩绩点:"+a[q].M1);
System.out.println(" 2.大学英语成绩绩点:"+a[q].E1);
System.out.println(" 3.计算机网络成绩绩点:"+a[q].N1);
System.out.println(" 4.数据库成绩绩点:"+a[q].D1);
System.out.println(" 5.软件工程成绩绩点:"+a[q].S1);
System.out.println(" 你的平均学分绩点为:"+String.format("%.2f",a[q].Z));
System.out.println(" 提示信息:你的学分绩点已达到毕业要 求!");
System.out.println(" 是否返回系统主界面:(Y/N) ");
System.out.println("***********************************************************");
}
else
{
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************************");
System.out.println(" 学生学号: "+a[q].getstunumber());
System.out.println(" 学生姓名: "+a[q].getname());
System.out.println(" 1.高等数学成绩绩点:"+a[q].M1);
System.out.println(" 2.大学英语成绩绩点:"+a[q].E1);
System.out.println(" 3.计算机网络成绩绩点:"+a[q].N1);
System.out.println(" 4.数据库成绩绩点:"+a[q].D1);
System.out.println(" 5.软件工程成绩绩点:"+a[q].S1);
System.out.println(" 你的平均学分绩点为:"+String.format("%.2f",a[q].Z));
System.out.println(" 提示信息:你的学分绩点不满足毕业要求!");
System.out.println(" 是否返回系统主界面:(Y/N) ");
System.out.println("***********************************************************");
}
String aa2=input.next();
if(aa2.equals("Y")) continue;
}
if(x==4) {
System.out.println("***********************************************************");
System.out.println(" 谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 制作人:赵树琪");
System.out.println("***********************************************************");
break;
}
}
}
}
然后来说一说的的编译思路,首先,根据题目要定义一个ScoreInformation类,然后把简单的系统界面画好,学生成绩等的数据存储,因为限于目前的能力,我选择了数组;系统一共有四个功能:录入、修改、计算绩点和退出,这里使用if条件语句和switch语句都可以,这里我的选择是if语句。
下面是我的运行结果截图