软件工程第一学期开学考试

题目为java系统的学生成绩管理系统,没有文件操作的内容所以对于自学来说,没有实际难点。用时150分钟,完成所有任务。对于开学第一课,自我感觉不错。但由于审题不清楚,在三个子方法的返回界面上失误,应为放回当前功能,结果返回到了主目录,导致丢分1.5,实际分数13.5。

考试感悟:在自学的过程中,少了自己实操的过程,导致编写程序时没有自信,并且一些细节上没有注意(比如String类在java里不能直接用‘==’来判断,需要用到函数‘str1.equals(str2))。上一个完整编写的java程序还是helloword,这次直接成了学生成绩管理系统,属实是准备不足。另外,在实际操作中,分段编写效果更好。

(题目过长,不列)

源代码如下:

//ScoreInformation.java

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.java

package 开学考试;

import java.util.Scanner;


public class ScoreManagement {


private static ScoreInformation[] stu = new ScoreInformation[6];
static Scanner scan = new Scanner(System.in);
static int i = 0;
static boolean tag = true;
static boolean tag_1 = true;
//主类
public static void main(String[] args) {
add();
while(tag_1)
{

manu();
int a = scan.nextInt();
switch (a) {
case 1:luru();break;
case 2:xiugai();break;
case 3:jidian();break;
case 4:tag_1=false;break;
default:
break;
}
}
System.out.println("***********************************************************");
System.out.println(" 谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 制作人:肖松月 ");
System.out.println("***********************************************************");
}
//存入
static public void add()
{
stu[0] = new ScoreInformation();
stu[0].setStunumber("20183745");
stu[0].setName("肖松月");
stu[1] = new ScoreInformation();
stu[1].setStunumber("20183746");
stu[1].setName("郭增新");
stu[2] = new ScoreInformation();
stu[2].setStunumber("20183747");
stu[2].setName("小秃子");
stu[3] = new ScoreInformation();
stu[3].setStunumber("20183748");
stu[3].setName("小傻子");
stu[4] = new ScoreInformation();
stu[4].setStunumber("20183749");
stu[4].setName("小呆子");
stu[5] = new ScoreInformation();
stu[5].setStunumber("20183750");
stu[5].setName("小脑残");
}
//菜单
static public void manu()
{
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("***********************************************************");
}
//录入
static public void luru()
{

System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入");
System.out.println("***********************************************************");
System.out.println(" 请输入学生学号:XXXXXXXX");
System.out.println("***********************************************************");
String scan_num = scan.next();


for(i=0;i<6;i++)
{
if(scan_num.equals(stu[i].getStunumber()))
{
tag=false;
break;
}
}
if(tag==true)
{
System.out.println("不存在");
}
//存在并且继续输入成绩
else
{
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println(" 学生学号:"+scan_num);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 请输入高等数学成绩:XXX");
System.out.println("***********************************************************");
stu[i].setMathematicsscore(scan.nextDouble());

System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println(" 学生学号:"+scan_num);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 高等数学成绩:"+stu[i].getMathematicsscore());
System.out.println(" 请输入英语成绩:XXX");
System.out.println("***********************************************************");
stu[i].setEnglishiscore(scan.nextDouble());

System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println(" 学生学号:"+scan_num);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 高等数学成绩:"+stu[i].getMathematicsscore());
System.out.println(" 英语成绩:"+stu[i].getEnglishiscore());
System.out.println(" 请输入计算机网络成绩:XXX");
System.out.println("***********************************************************");
stu[i].setNetworkscore(scan.nextDouble());

System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println(" 学生学号:"+scan_num);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 高等数学成绩:"+stu[i].getMathematicsscore());
System.out.println(" 英语成绩:"+stu[i].getEnglishiscore());
System.out.println(" 计算机网络成绩:"+stu[i].getNetworkscore());
System.out.println(" 请输入数据库成绩:XXX");
System.out.println("***********************************************************");
stu[i].setDatabasescore(scan.nextDouble());

System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println(" 学生学号:"+scan_num);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 高等数学成绩:"+stu[i].getMathematicsscore());
System.out.println(" 英语成绩:"+stu[i].getEnglishiscore());
System.out.println(" 计算机网络成绩:"+stu[i].getNetworkscore());
System.out.println(" 数据库成绩:"+stu[i].getDatabasescore());
System.out.println(" 请输入软件工程成绩:XXX");
System.out.println("***********************************************************");
stu[i].setSoftwarescore(scan.nextDouble());

System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println(" 学生学号:"+scan_num);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 高等数学成绩:"+stu[i].getMathematicsscore());
System.out.println(" 英语成绩:"+stu[i].getEnglishiscore());
System.out.println(" 计算机网络成绩:"+stu[i].getNetworkscore());
System.out.println(" 数据库成绩:"+stu[i].getDatabasescore());
System.out.println(" 软件工程成绩:"+stu[i].getSoftwarescore());
System.out.println("***********************************************************");
System.out.println(" 该学生成绩已录入完毕,是否提交(Y/N)");
String x = scan.next();
//输入完确认
if(x=="Y")
{
manu();
}
else if(x=="N")
{
stu[i].setDatabasescore(0.0);
stu[i].setEnglishiscore(0.0);
stu[i].setMathematicsscore(0.0);
stu[i].setDatabasescore(0.0);
stu[i].setNetworkscore(0.0);
luru();
}

}
}
//修改
static void xiugai()
{
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面");
System.out.println("***********************************************************");
System.out.println(" 请输入学生学号:XXXXXXXX");
System.out.println("***********************************************************");
String scan_num2 = scan.next();
for(i=0;i<6;i++)
{
if(scan_num2.equals(stu[i].getStunumber()))
{
tag=false;
break;
}
}
if(tag==true)
{
System.out.println("学号不存在");
xiugai();
}
else
{
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入");
System.out.println("***********************************************************");
System.out.println(" 学生学号:"+scan_num2);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 1.高等数学成绩:"+stu[i].getMathematicsscore());
System.out.println(" 2.英语成绩:"+stu[i].getEnglishiscore());
System.out.println(" 3.计算机网络成绩:"+stu[i].getNetworkscore());
System.out.println(" 4.数据库成绩:"+stu[i].getDatabasescore());
System.out.println(" 5.软件工程成绩:"+stu[i].getSoftwarescore());
System.out.println("***********************************************************");
int xuanze=scan.nextInt();
double xiugai=0.0;
switch(xuanze) {
case 1:
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println("***********************************************************");
System.out.println(" 学生学号:"+scan_num2);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 请输入修改后高等数学成绩:XXX");
xiugai=stu[i].getMathematicsscore();
stu[i].setMathematicsscore(scan.nextDouble());break;
case 2:
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println("***********************************************************");
System.out.println(" 学生学号:"+scan_num2);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 请输入修改后英语成绩:XXX");
xiugai=stu[i].getEnglishiscore();
stu[i].setEnglishiscore(scan.nextDouble());break;
case 3:
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println("***********************************************************");
System.out.println(" 学生学号:"+scan_num2);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 请输入修改后计算机网络成绩:XXX");
xiugai=stu[i].getNetworkscore();
stu[i].setNetworkscore(scan.nextDouble());break;
case 4:
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println("***********************************************************");
System.out.println(" 学生学号:"+scan_num2);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 请输入修改后数据库成绩:XXX");
xiugai=stu[i].getDatabasescore();
stu[i].setDatabasescore(scan.nextDouble());break;
case 5:
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入界面");
System.out.println("***********************************************************");
System.out.println(" 学生学号:"+scan_num2);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 请输入修改后软件工程成绩:XXX");
xiugai=stu[i].getSoftwarescore();
stu[i].setSoftwarescore(scan.nextDouble());break;
}
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入");
System.out.println("***********************************************************");
System.out.println(" 学生学号:"+scan_num2);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 1.高等数学成绩:"+stu[i].getMathematicsscore());
System.out.println(" 2.英语成绩:"+stu[i].getEnglishiscore());
System.out.println(" 3.计算机网络成绩:"+stu[i].getNetworkscore());
System.out.println(" 4.数据库成绩:"+stu[i].getDatabasescore());
System.out.println(" 5.软件工程成绩:"+stu[i].getSoftwarescore());
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************************");
String y= scan.next();
//输入完确认
if(y=="Y")
{
manu();
}
else if(y=="N")
{
switch(xuanze) {
case 1:stu[i].setMathematicsscore(xiugai);break;
case 2:stu[i].setEnglishiscore(xiugai);break;
case 3:stu[i].setNetworkscore(xiugai);break;
case 4:stu[i].setDatabasescore(xiugai);break;
case 5:stu[i].setSoftwarescore(xiugai);break;
}
xiugai();
}
}
}
//绩点
static void jidian()
{
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩绩点计算界面");
System.out.println("***********************************************************");
System.out.println(" 请输入学生学号:XXXXXXXX");
System.out.println("***********************************************************");
String scan_num3 = scan.next();
for(i=0;i<6;i++)
{
if(scan_num3.equals(stu[i].getStunumber()))
{
tag=false;
break;
}
}
if(tag==true)
{
System.out.println("学号不存在");
jidian();
}
else
{
System.out.println("***********************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩绩点计算界面");
System.out.println("***********************************************************");
System.out.println(" 学生学号:"+scan_num3);
System.out.println(" 学生姓名:"+stu[i].getName());
System.out.println(" 1.高等数学绩点:"+js(stu[i].getMathematicsscore()));
System.out.println(" 2.英语绩点:"+js(stu[i].getEnglishiscore()));
System.out.println(" 3.计算机网络绩点:"+js(stu[i].getNetworkscore()));
System.out.println(" 4.数据库绩点:"+js(stu[i].getDatabasescore()));
System.out.println(" 5.软件工程绩点:"+js(stu[i].getSoftwarescore()));
double pj=0.0;
pj=(js(stu[i].getMathematicsscore())*4.0+js(stu[i].getEnglishiscore())*3.0+js(stu[i].getNetworkscore())*4.0
+js(stu[i].getDatabasescore())*3.0+js(stu[i].getSoftwarescore())*2.0)/(16.0);
if(pj>=2.0)
{
System.out.println(" 你的平均学分绩点为:"+(double)Math.round(pj*100)/100);
System.out.println(" 您已合格");

}
else
{
System.out.println(" 你的平均学分绩点为:"+(double)Math.round(pj*100)/100);
System.out.println(" 您未合格");

}


System.out.println("***********************************************************");
}

}
static public double js(Double cj)
{
double xf=0.0;
if(cj>=90)
xf=4.0;
else if(cj>=85)
xf=3.7;
else if(cj>=82)
xf=3.3;
else if(cj>=78)
xf=3.0;
else if(cj>=75)
xf=2.7;
else if(cj>=72)
xf=2.3;
else if(cj>=68)
xf=2.0;
else if(cj>=66)
xf=1.7;
else if(cj>=64)
xf=1.5;
else if(cj>=60)
xf=1.0;
else
xf=0;
return xf;
}
}

猜你喜欢

转载自www.cnblogs.com/xsy948306073/p/11515227.html