石家庄铁道大学2021年秋季2020级课堂测试试卷(一)
别人的开学第一课介绍java的来源与优点,我们是直接撸代码。。。
下面练习第二次课民哥教的题目重分解
回顾题目:
一、定义ScoreInformation类。
其中包括七个私有变量(stunumber, name,stuclass, papertitle,paperbody,paperpass,paperreview)。
各成员的含义如下:
变量 stunumber 为字符串类型 String,用于存储学生的学号(有8 位数字组成)。
变量 name 为字符串类型 String,用于存储学生的姓名。
变量stuclass为String 类型,用于存储学生的班级。
变量papertitle为String 类型,用于存储学生的毕业设计论文题目,要求限制输入字符为10个。
变量paperbody为String类型,用于存储学生的毕业设计论文正文,要求限制输入字符为200个。
变量paperpass为double 类型,用于存储学生的论文的查重率,初始值设为0。
变量paperreview为boolean 类型,用于存储毕业设计论文的最终审查效果,true代表通过审查,false代表未通过审查,初始值设为“false”。
对每个变量定义 get()(读取变量信息)和 set()(设置变量信息)的方法。
2、赋初值方法包括七个参数,用于为变量(stunumber, name,stuclass, papertitle,paperbody,paperpass,paperreview)赋值。
二、定义PaperManagement类
该类完成学生毕业设计论文管理的简单功能。
1、利用数组实现至少存储五个学生毕业设计论文的基本信息; (将考生信息作为第一条记录)。(1分)
2、毕业设计论文管理系统的主界面如下图所示:(1分)
①界面要求;(0.5分)
石家庄铁道大学软件工程系
毕业设计论文管理系统2021版
1、毕业设计论文提交
2、毕业设计论文查重
3、毕业设计论文审查
4、退出论文管理系统
②功能说明
输入数字1-4执行相应的功能,输入其他数字提示错误信息(该选项不存在),并返回主界面。(0.5分)
2、毕业设计论文提交功能操作流程:(3分)
①在主界面选择“毕业设计论文提交”功能后,进入“毕业设计论文提交”界面,如下图所示:(0.5分)
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
毕业设计论文提交
请输入学生学号:XXXXXXXX
提示用户输入八位的学号。
②用户输入学号后,显示用户学号、姓名、班级,如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回成绩录入界面。(0.5分)
③用户输入学号正确如下图所示:
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
毕业设计论文提交
学生学号:20203982
学生姓名:XXX
所在班级:信2005-1班
请输入毕业设计论文题目:XXXXXX XXXX
提示用户输入毕业设计论文题目,如果毕业设计论文题目超过10个字符,则提醒用户错误信息,返回当前界面重新输入;(0.5分)
如果满足要求,则提示用户输入毕业设计论文正文,同题目一样判断是否超过200个字符,超过重新输入。(0.5分)
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
毕业设计论文提交
学生学号:20203982
学生姓名:XXX
所在班级:信2005-1班
请输入毕业设计论文题目:XXXXXX XXXX
请输入毕业设计论文正文:XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX
输入毕业设计论文正文最后输入(END)代表论文正文输入完成,显示如下界面。(0.5分)
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
毕业设计论文提交
学生学号:20203982
学生姓名:XXX
所在班级:信2005-1班
毕业设计论文题目:XXXXXX XXXX
毕业设计论文正文:XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX
该学生成绩已录入完毕,是否提交(Y/N)
选择“Y”将论文题目和正文内容保存到相应的数组中,并返回主界面。选择“N”,则忽略上述录入内容,并返回论文提交界面。(0.5分)
3、毕业设计论文查重(2分)
①在主界面选择“毕业设计论文查重”功能后,进入“毕业设计论文查重”界面,如下图所示:
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
毕业设计论文查重***********************************************************
请输入学生学号:XXXXXXXX
提示用户输入八位的学号。
②用户输入学号后,显示用户学号、姓名、班级、毕业设计论文题目、毕业设计论文正文。如下图所示。(1.5分)
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
毕业设计论文查重***********************************************************
学生学号:20203982
学生姓名:XXX
所在班级:信2005-1班
毕业设计论文题目:XXXXXX XXXX
毕业设计论文正文:XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX
请输入毕业设计论文查重率:XXX
判断查重率输入是否符合要求,不符合则要求用户重新输入,符合显示下图选择信息。
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
毕业设计论文查重
学生学号:20203982
学生姓名:XXX
所在班级:信2005-1班
毕业设计论文题目:XXXXXX XXXX
毕业设计论文正文:XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX
毕业设计论文查重率:XXX
(Y/N)
③选择“Y”返回毕业设计论文查重输入学号界面。选择“N”,返回系统主界面。(0.5分)
4、毕业设计论文审查(2分)
①在主界面选择“毕业设计论文审查”功能后,进入“毕业设计论文审查”界面,如下图所示:
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
毕业设计论文审查
请输入学生学号:XXXXXXXX
提示用户输入八位的学号。
②用户输入学号后,显示用户学号、姓名、班级、毕业设计论文题目、毕业设计论文正文、毕业设计论文查重率。如下图所示。(1.5分)
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
毕业设计论文查重
学生学号:20203982
学生姓名:XXX
所在班级:信2005-1班
毕业设计论文题目:XXXXXX XXXX
毕业设计论文正文:XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX
毕业设计论文查重率:XXX
如果查重率大于等于0.2提示信息显示“该学生毕业设计论文重复率超过20%,不允许进行论文审查”,直接返回毕业设计论文审查主页面。
则提示用户输入审查结果
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
毕业设计论文查重
学生学号:20203982
学生姓名:XXX
所在班级:信2005-1班
毕业设计论文题目:XXXXXX XXXX
毕业设计论文正文:XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX
毕业设计论文查重率:XXX
是否同意该学生参加毕业设计答辩:(Y/N)
③选择“Y”存储审查结果,返回毕业设计论文审查输入学号界面。选择“N”, 存储审查结果返回系统主界面。(0.5分)
5、用户选择数字“4”,显示如下界面,退出当前程序。(1分)
石家庄铁道大学软件工程系毕业设计论文管理系统2021版
制作人:考生姓名
总结:
暑假小学期的时候用c++做过简单的学生信息管理系统,换汤不换药,做起这个来也是驾轻就熟。
就是打字太慢了,还有打代码全凭感觉,没有总的规划。
现在,以昨天学到的知识来进行分解,分解成“骨架+功能”的形式。
我不太喜欢“分解”这个词,更喜欢用“结构化”或者“对象化”来描述。
让写两个文件,第一个文件ScoreInformation类是给我们送分的
看PaperManagement类。
第一次结构化
按界面分类,并在主函数内操作这四个界面(写四个函数对应四个界面):主界面,论文提交界面,论文审查界面,论文审批界面,退出界面
第二次结构化
拿出某几个界面中相同的输出,写成函数(比如下面的输出在我的代码中出现了12次和3次,我写成了showTitle()函数和getIdx()函数)
System.out.println("***********************************************************");
System.out.println("\t\t石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
while(true) {
idx=-1;
showTitle();
System.out.println("\t\t\t毕业设计论文"+S);
System.out.println("***********************************************************");
System.out.println("\t\t\t请输入学生学号:XXXXXXXX");
System.out.println("**********************************************************");
String s=sc.nextLine();
for(int i=0;i<list.size();i++) {
if(list.get(i).getStunumber().equals(s)) {
idx=i;
}
}
if(idx!=-1) break;
System.out.println("该学号不存在,请重新输入");
}
下面是源码:
//ScoreInformation类
public class ScoreInformation {
private String stunumber,name,stuclass,papertitle,paperbody;
private double paperpass;
private boolean paperreview;
ScoreInformation(String stunumber,String name,String stuclass,String papertitle,String paperbody,double paperpass,boolean paperreview){
this.stunumber=stunumber;
this.name=name;
this.stuclass=stuclass;
this.papertitle=papertitle;
this.paperbody=paperbody;
this.paperpass=paperpass;
this.paperreview=paperreview;
}
public void setStunumber(String s) {stunumber=s;}
public String getStunumber() {return stunumber;}
public void setName(String s) {name=s;}
public String getName() {return name;}
public void setStuclass(String s) {stuclass=s;}
public String getStuclass() {return stuclass;}
public void setPapertitle(String s) {papertitle=s;}
public String getPapertitle() {return papertitle;}
public void setPaperbody(String s) {paperbody=s;}
public String getPaperbody() {return paperbody;}
public void setPaperpass(double r) {paperpass=r;}
public double getPaperpass() {return paperpass;}
public void setPaperreview(boolean b) {paperreview=b;}
public boolean getPaperreview() {return paperreview;}
}
//PaperManagement类
import java.util.*;
public class PaperManagement {
static Scanner sc=new Scanner(System.in);
static ArrayList<ScoreInformation> list=new ArrayList<ScoreInformation>();
public static void main(String[] args) {
list.add(new ScoreInformation("20204102","庄忠旭","信2005-1","","",0,false));
list.add(new ScoreInformation("20204103","张三","信2005-1","","",0,false));
list.add(new ScoreInformation("20204104","李四","信2005-1","","",0,false));
list.add(new ScoreInformation("20204105","王五","信2005-1","","",0,false));
list.add(new ScoreInformation("20204106","赵六","信2005-1","","",0,false));
while(true) {
preShow();
String s=sc.nextLine();
switch(s) {
case"1":while(handIn()==false);break;
case"2":while(ckc()==false);break;
case"3":while(ck()==false);break;
case"4":myExit();break;
default:System.out.println("该选项不存在,请重新输入!");
}
}
}
static void showTitle() {
System.out.println("***********************************************************");
System.out.println("\t\t石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
}
static int getIdx(String S) {
while(true) {
showTitle();
System.out.println("\t\t\t毕业设计论文"+S);
System.out.println("***********************************************************");
System.out.println("\t\t\t请输入学生学号:XXXXXXXX");
System.out.println("**********************************************************");
String s=sc.nextLine();
for(int i=0;i<list.size();i++) {
if(list.get(i).getStunumber().equals(s)) {
return i;
}
}
System.out.println("该学号不存在,请重新输入");
}
}
public static void preShow() {
showTitle();
System.out.println("\t\t\t毕业设计论文管理系统2021版");
System.out.println("***********************************************************");
System.out.println("\t\t\t1、毕业设计论文提交");
System.out.println("\t\t\t2、毕业设计论文查重");
System.out.println("\t\t\t3、毕业设计论文审查");
System.out.println("\t\t\t4、退出论文管理系统");
System.out.println("***********************************************************");
}
public static boolean handIn() {
int idx=getIdx("提交");
ScoreInformation a=new ScoreInformation("","","","","",0,false);
while(true) {
showTitle();
System.out.println("\t\t\t毕业设计论文提交");
System.out.println("***********************************************************");
System.out.println("\t\t\t学生学号:"+list.get(idx).getStunumber());
System.out.println("\t\t\t学生姓名:"+list.get(idx).getName());
System.out.println("\t\t\t所在班级:"+list.get(idx).getStuclass());
System.out.println("\t\t\t请输入毕业设计论文题目:XXXXXX XXXX");
System.out.println("**********************************************************");
String s=sc.nextLine();
if(s.length()<=10) {
a.setPapertitle(s);
break;
}
else System.out.println("毕业设计论文题目超过10个字符,请重新输入!");
}
StringBuilder sb=new StringBuilder();
while(true) {
showTitle();
System.out.println("\t\t\t毕业设计论文提交");
System.out.println("***********************************************************");
System.out.println("\t\t\t学生学号:"+list.get(idx).getStunumber());
System.out.println("\t\t\t学生姓名:"+list.get(idx).getName());
System.out.println("\t\t\t所在班级:"+list.get(idx).getStuclass());
System.out.println("\t\t毕业设计论文题目:"+a.getPapertitle());
System.out.println("\t\t\t请输入毕业设计论文正文:XXXXXXXXXX");
System.out.println("**********************************************************");
int k=0;
while(k<=200) {
String s=sc.next();
int len=s.length();
sb.append(s+" ");
k+=len;
if(len>=3&&s.substring(len-3).equals("END")) {
break;
}
}
if(k<=200) {
a.setPaperbody(sb.toString());
break;
}
else System.out.println("毕业设计论文正文超过200个字符,请重新输入!");
}
while(true) {
showTitle();
System.out.println("\t\t\t毕业设计论文提交");
System.out.println("***********************************************************");
System.out.println("\t\t\t学生学号:"+list.get(idx).getStunumber());
System.out.println("\t\t\t学生姓名:"+list.get(idx).getName());
System.out.println("\t\t\t所在班级:"+list.get(idx).getStuclass());
System.out.println("\t\t毕业设计论文题目:"+a.getPapertitle());
System.out.println("\t\t\t毕业设计论文正文:"+a.getPaperbody());
System.out.println("\t\t该学生成绩已录入完毕,是否提交(Y/N)");
System.out.println("**********************************************************");
String s=sc.nextLine();
if(s.equals("Y")) {
a.setStunumber(list.get(idx).getStunumber());
a.setName(list.get(idx).getName());
a.setStuclass(list.get(idx).getStuclass());
list.set(idx,a);
return true;
}
else return false;
}
}
public static boolean ckc() {
int idx=getIdx("查重");
while(true) {
showTitle();
System.out.println("\t\t\t毕业设计论文查重");
System.out.println("***********************************************************");
System.out.println("\t\t\t学生学号:"+list.get(idx).getStunumber());
System.out.println("\t\t\t学生姓名:"+list.get(idx).getName());
System.out.println("\t\t\t所在班级:"+list.get(idx).getStuclass());
System.out.println("\t\t\t毕业设计论文题目:"+list.get(idx).getPapertitle());
System.out.println("\t\t\t毕业设计论文正文:"+list.get(idx).getPaperbody());
System.out.println("\t\t\t请输入毕业设计论文查重率:XXXXXXXXXX");
System.out.println("**********************************************************");
double x=sc.nextDouble();
sc.nextLine();
if(x>=0&&x<=1) {
list.get(idx).setPaperpass(x);
break;
}
else System.out.println("查重率输入不符合要求,请重新输入!");
}
while(true) {
showTitle();
System.out.println("\t\t\t毕业设计论文查重");
System.out.println("***********************************************************");
System.out.println("\t\t\t学生学号:"+list.get(idx).getStunumber());
System.out.println("\t\t\t学生姓名:"+list.get(idx).getName());
System.out.println("\t\t\t所在班级:"+list.get(idx).getStuclass());
System.out.println("\t\t\t毕业设计论文题目:"+list.get(idx).getPapertitle());
System.out.println("\t\t\t毕业设计论文正文:"+list.get(idx).getPaperbody());
System.out.println("\t\t\t毕业设计论文查重率:"+list.get(idx).getPaperpass());
System.out.println("\t\t\t\t(Y/N)");
System.out.println("**********************************************************");
String s=sc.nextLine();
if(s.equals("Y")) return true;
else return false;
}
}
public static boolean ck() {
int idx=getIdx("审查");
while(true) {
showTitle();
System.out.println("\t\t\t毕业设计论文审查");
System.out.println("***********************************************************");
System.out.println("\t\t\t学生学号:"+list.get(idx).getStunumber());
System.out.println("\t\t\t学生姓名:"+list.get(idx).getName());
System.out.println("\t\t\t所在班级:"+list.get(idx).getStuclass());
System.out.println("\t\t毕业设计论文题目:"+list.get(idx).getPapertitle());
System.out.println("\t\t\t毕业设计论文正文:"+list.get(idx).getPaperbody());
System.out.println("\t\t\t毕业设计论文查重率:"+list.get(idx).getPaperpass());
System.out.println("**********************************************************");
if(list.get(idx).getPaperpass()>=0.2) {
System.out.println("该学生毕业设计论文重复率超过20%,不允许进行论文审查");
return false;
}
else break;
}
while(true) {
showTitle();
System.out.println("\t\t\t毕业设计论文查重");
System.out.println("***********************************************************");
System.out.println("\t\t\t学生学号:"+list.get(idx).getStunumber());
System.out.println("\t\t\t学生姓名:"+list.get(idx).getName());
System.out.println("\t\t\t所在班级:"+list.get(idx).getStuclass());
System.out.println("\t\t毕业设计论文题目:"+list.get(idx).getPapertitle());
System.out.println("\t\t\t毕业设计论文正文:"+list.get(idx).getPaperbody());
System.out.println("\t\t\t毕业设计论文查重率:"+list.get(idx).getPaperpass());
System.out.println("\t\t是否同意该学生参加毕业设计答辩:(Y/N)");
System.out.println("**********************************************************");
String s=sc.nextLine();
if(s.equals("Y")) {
list.get(idx).setPaperreview(true);
return false;
}
else return true;
}
}
public static void myExit() {
showTitle();
System.out.println("\t\t\t制作人:庄忠旭");
System.out.println("**********************************************************");
System.exit(0);
}
}

浙公网安备 33010602011771号