题库维护系统java实验报告.docx

上传人:b****7 文档编号:10603737 上传时间:2023-02-21 格式:DOCX 页数:16 大小:109.45KB
下载 相关 举报
题库维护系统java实验报告.docx_第1页
第1页 / 共16页
题库维护系统java实验报告.docx_第2页
第2页 / 共16页
题库维护系统java实验报告.docx_第3页
第3页 / 共16页
题库维护系统java实验报告.docx_第4页
第4页 / 共16页
题库维护系统java实验报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

题库维护系统java实验报告.docx

《题库维护系统java实验报告.docx》由会员分享,可在线阅读,更多相关《题库维护系统java实验报告.docx(16页珍藏版)》请在冰豆网上搜索。

题库维护系统java实验报告.docx

题库维护系统java实验报告

南通大学计算机科学与技术学院

《Java程序设计基础》项目

报告书

 

 

设计题目题库维护系统

 

专业班级

学生姓名

学号

指导教师

日期2014年6月

目录

1.课程设计题目………………………………………………………3

2.课程设计目的………………………………………………………3

3.课程设计要求………………………………………………………3

4.课程设计报告内容…………………………………………………4

4.1系统主要功能…………………………………………………4

4.2系统数据结构清单……………………………………………4

4.3系统代码实现…………………………………………………4

4.4系统测试………………………………………………………10

4.5系统存在的主要问题及注意事项……………………………11

4.6设计总结及体会………………………………………………11

5.参考文献…………………………………………………………11

一、课程设计题目:

题库维护系统

二、课程设计目的

1.掌握java面向对象的编程思想。

2.掌握java常用类的使用。

3.掌握java中I/O流的基本操作,通过本课程设计可以对本学期所学知识有一个系统全面的掌握。

三、课程设计要求

(1)系统功能要求

1):

系统运行要求在控制台出现如下操作主界面

/********************************************************/

题库维护系统今天是X月X日...........

请选择相关的操作:

1.添加题目按键盘字符(a)

2.导入题目按键盘字符(i)

2.删除题目按键盘字符(d)

3.显示题目按键盘字符(L)

/********************************************************/

2):

按键a以后,显示:

***********************************************************

添加题目,题库中中已有试题xx条,当前录入第xx条

***********************************************************

请输入题目:

请输入选项A:

请输入选项B:

请输入选项C:

请输入选项D:

输入成功,是否继续输入?

(y/n)

输入y,继续,输入n,返回主界面

3)按键i以后,显示:

**********************************************************

请输入需要导入题库文件路径:

按回车后如果导入成功,显示:

试题导入成功,共成功导入xx条试题,如果导入失败,则显示导入失败,显示异常信息

4)按键d以后,显示

***********************************************************

删除题目

***********************************************************

请输入所需删除的题号:

删除成功,是否继续删除?

(y/n)

输入y,继续,输入n,返回主界面

5)按键l以后,显示所有题目

四、课程设计报告内容

4.1系统主要功能

4.1.1功能描述:

添加题目,导入题目,删除题目,显示题目

4.1.2系统功能结构图:

4.2系统数据结构清单:

publicstaticfinalStringDRIVER_CLASS="com.mysql.jdbc.Driver";

publicstaticfinalStringURL="jdbc:

mysql:

//localhost:

3306/dbexercise";

publicstaticfinalStringDATABASE_USER="root";

publicstaticfinalStringDATABSE_PASSWORD="3317";

publicstaticConnectiongetConnection();

privatestaticStringname;

privatestaticBooleanx;

4.3系统代码实现:

importjava.sql.*;

publicclassConnectionManager{

publicstaticfinalStringDRIVER_CLASS="com.mysql.jdbc.Driver";

publicstaticfinalStringURL="jdbc:

mysql:

//localhost:

3306/dbexercise";

publicstaticfinalStringDATABASE_USER="root";

publicstaticfinalStringDATABSE_PASSWORD="3317";

publicstaticConnectiongetConnection()

{

Connectioncon=null;

try{

Class.forName(DRIVER_CLASS);

}catch(ClassNotFoundExceptione)

{

System.out.println("加载驱动程序错误");

e.printStackTrace();

}

try{

con=DriverManager.getConnection(URL,DATABASE_USER,DATABSE_PASSWORD);

}catch(SQLExceptione){

System.out.println("数据库连接错误");

e.printStackTrace();

}

returncon;

}

publicstaticvoidcloseConnection(Connectioncon,Statementstmt,ResultSetres)

{

if(res!

=null)

try{

res.close();

res=null;

}catch(SQLExceptione){

e.printStackTrace();

}

if(stmt!

=null)

try{

stmt.close();

stmt=null;

}catch(SQLExceptione){

e.printStackTrace();

}

try{

if(con!

=null&&con.isClosed()==false)

{

con.close();

con=null;

}

}catch(SQLExceptione){

e.printStackTrace();

}

}

publicstaticvoidcloseConnection(Connectioncon,PreparedStatementpstmt,ResultSetres)

{

if(res!

=null)

try{

res.close();

res=null;

}catch(SQLExceptione){

e.printStackTrace();

}

if(pstmt!

=null)

try{

pstmt.close();

pstmt=null;

}catch(SQLExceptione){

e.printStackTrace();

}

try{

if(con!

=null&&con.isClosed()==false)

{

con.close();

con=null;

}

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

importjava.sql.Date;

importjava.util.*;

publicclassWll{

privatestaticStringname;

privatestaticStringstrPassword;

privatestaticbooleanb;

publicstaticbooleanStart(){

java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat("yyyy年MM月dd日");

Scannerscn=newScanner(System.in);

Stringnow=sdf.format(newjava.util.Date());

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

System.out.println("题库维护系统TKV1.0欢迎您今天是:

"+now);

System.out.println("请输入登录用户名:

");

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

name=scn.nextLine();

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

System.out.println("题库维护系统TKV1.0欢迎您今天是:

"+now);

System.out.println("请输入密码:

");

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

strPassword=scn.nextLine();

UserInfouser=newUserInfo(name,strPassword);

b=newUserInfoDao().Exist(user);

returnb;

}

publicstaticvoidmain(String[]args){

Scannerscn=newScanner(System.in);

intlogCount=newOperateLogInfoDao().Count()+1;

intexerCount=newExerciseDao().Count()+1;

booleanj=false;

java.text.SimpleDateFormatf=newjava.text.SimpleDateFormat("yyyy-MM-dd");

java.util.DateutilDate=newjava.util.Date();

while(!

Start()){

System.out.println("输入错误,请重新输入:

");

}

while(!

j){

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

System.out.println("请选择相关的操作:

");

System.out.println("1.添加题目按键盘字符(a)");

System.out.println("2.删除题目按键盘字符(b)");

System.out.println("3.显示题目按键盘字符(c)");

System.out.println("4.显示操作日志按键盘字符(d)");

System.out.println("5.退出系统按键盘字符(e)");

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

Stringstr=scn.nextLine();

switch((str.toCharArray())[0]){

case('a'):

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

System.out.println("添加题目:

");

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

System.out.println("请输入题目:

");

Stringquestion=scn.nextLine();

System.out.println("请输入选项x:

");

Stringa=scn.nextLine();

System.out.println("请输入选项y:

");

Stringb=scn.nextLine();

System.out.println("请输入选项z:

");

Stringc=scn.nextLine();

System.out.println("请输入选项m:

");

Stringd=scn.nextLine();

ExerciseInfoe=newExerciseInfo(exerCount,question,a,b,c,d,"easy");

exerCount++;

if((newExerciseDao().Add(e))>0){

newOperateLogInfoDao().Add(newOperateLogInfo(logCount,name,"insertexercise:

"+question,newDate(utilDate.getTime()),"ok"));

logCount++;

System.out.println("添加成功,是否继续添加?

(y/n)");

Stringjudje1=scn.nextLine();

if(judje1.equals("y")){

System.out.println("添加成功");

j=false;

}

}

break;

case('b'):

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

System.out.println("删除题目:

");

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

System.out.println("请输入所需删除题目id:

");

StringstrId=scn.nextLine();

inteId=Integer.parseInt(strId);

if((newExerciseDao().Del(eId))>0){

newOperateLogInfoDao().Add(newOperateLogInfo(logCount,name,"deleteexercise:

id="+eId,newDate(utilDate.getTime()),"ok"));

logCount++;

System.out.println("删除成功,是否继续删除:

(y/n)");

Stringjudje2=scn.nextLine();

if(judje2.equals("y")){

System.out.println("删除成功!

");

j=false;

}

}

break;

case('c'):

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

System.out.println("显示题目:

");

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

for(inti=1;i<=exerCount;i++){

ExerciseDaoed=newExerciseDao();

ExerciseInfoe1=ed.Show(i);

if(e1.getId()>0){

System.out.println("题目ID:

"+e1.getId()+"\n"+"问题:

"+e1.getQuestion()+"\n"+"答案:

"+"(X):

"+e1.getA()+"(Y):

"+e1.getB()+"(Z):

"+e1.getC()+"(M):

"+e1.getD());System.out.println("-----------------------------");

}

}

j=false;

break;

case('d'):

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

System.out.println("显示操作日志:

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

for(inti=1;i

OperateLogInfoDaoo=newOperateLogInfoDao();

o.showOperatingLogInfo(o.Get(i));

System.out.println("-----------------------------");

}

j=false;

break;

case('e'):

j=true;

break;

}

}

}

}

4.4系统测试

4.4.1主界面:

4.4.2添加题目:

4.4.3导入题目:

4.4.4删除题目:

4.4.5显示题目:

4.5系统存在的主要问题及注意事项:

主要问题:

因为能力有限,没能编写详细的登录代码使用户登录系统。

没能将系统设计得更加方便用户使用。

注意事项:

要先将程序设计好再连接数据库,SQL密码与程序密码不能不同。

4.6设计总结及体会:

经过了几天的程序设计,我对Java程序设计有了全新的认识。

尤其是当拿到一个不小的任务时,如何去分析,先干什么,接着干什么,最后干什么,有了比较明确的思路。

选定一个项目后,我们应该先对这个项目进行概要的分析、设计,分析出这个程序是干什么用的,应该实现什么功能,这些功能应该包含哪些函数,函数之间应该是怎样的调用关系。

概要设计做好后,我们就要开始做详细设计,详细设计就是将做好的概要设计进行完善,将每个函数要实现的功能列举出来,或者是用流程图画出来,这样我们就能基本上知道每个程序应该如何实现它自身的功能,写源代码是也就不会那么盲目。

刚开始的时候,我根据书上的提示自己编写好程序输入电脑,然后编译的时候,出现了许许多多各种各样的问题,回头查看程序,自己却很难找到问题所在,于是查阅各种资料,问了身边很多同学,终于将程序顺利调试出来了。

通过这个系统的实现,我从输入代码跟运行调试的整个过程中学习到了很多东西,也了解到系统出现问题的时候的各种错误应该如何解决。

这次的实验使我了解到,平时对知识的积累相当重要,同时也要注重课上老师的讲解,老师在课上的延伸是课本上所没有的,这些知识对于我们对程序的编写有很大的作用,同时,编程也要求我们有足够的耐心,细细推敲。

越着急可能就越无法得到我们想要的结果,遇到不会的问题要多多请教,知识是在实践与向别人请教的过程中积累的,所以问是至关重要的,只要肯下功夫很多东西都是可以完成的。

通过本次程序设计,我觉得熟练掌握所学的知识对于编程解决实际问题非常有效。

我们应该在平时多用我们所学的Java知识编写程序,尝试解决实际的问题。

最后,再次衷心感谢蒋铮铮老师在本次程序设计中对我的悉心指导!

参考书目:

《JavaEE基础教程》,《EffectiveJava中文版》,以及XX相关文献资料。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1