收藏 分销(赏)

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

上传人:仙人****88 文档编号:8991726 上传时间:2025-03-10 格式:DOC 页数:11 大小:149KB
下载 相关 举报
题库维护系统java实验报告.doc_第1页
第1页 / 共11页
题库维护系统java实验报告.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述
南通大学计算机科学与技术学院 《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 系统数据结构清单: public static final String DRIVER_CLASS="com.mysql.jdbc.Driver"; public static final String URL="jdbc:mysql://localhost:3306/dbexercise"; public static final String DATABASE_USER="root"; public static final String DATABSE_PASSWORD="3317"; public static Connection getConnection(); private static String name; private static Boolean x; 4.3 系统代码实现: import java.sql.*; public class ConnectionManager { public static final String DRIVER_CLASS="com.mysql.jdbc.Driver"; public static final String URL="jdbc:mysql://localhost:3306/dbexercise"; public static final String DATABASE_USER="root"; public static final String DATABSE_PASSWORD="3317"; public static Connection getConnection() { Connection con=null; try{ Class.forName(DRIVER_CLASS); }catch(ClassNotFoundException e) { System.out.println("加载驱动程序错误"); e.printStackTrace(); } try{ con=DriverManager.getConnection(URL,DATABASE_USER,DATABSE_PASSWORD); }catch(SQLException e){ System.out .println("数据库连接错误"); e.printStackTrace(); } return con; } public static void closeConnection(Connection con,Statement stmt,ResultSet res) { if(res!=null) try{ res.close(); res=null; }catch(SQLException e){ e.printStackTrace(); } if(stmt!=null) try{ stmt.close(); stmt=null; }catch(SQLException e){ e.printStackTrace(); } try{ if(con!=null && con.isClosed()==false) { con.close(); con=null; } }catch(SQLException e){ e.printStackTrace(); } } public static void closeConnection(Connection con,PreparedStatement pstmt,ResultSet res) { if(res!=null) try{ res.close(); res=null; }catch(SQLException e){ e.printStackTrace(); } if(pstmt!=null) try{ pstmt.close(); pstmt=null; }catch(SQLException e){ e.printStackTrace(); } try{ if(con!=null && con.isClosed()==false) { con.close(); con=null; } }catch(SQLException e){ e.printStackTrace(); } } } import java.sql.Date; import java.util.*; public class Wll { private static String name; private static String strPassword; private static boolean b ; public static boolean Start(){ java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy年MM月dd日"); Scanner scn=new Scanner(System.in); String now = sdf.format(new java.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(); UserInfo user = new UserInfo(name, strPassword); b = new UserInfoDao().Exist(user); return b; } public static void main(String[] args) { Scanner scn=new Scanner(System.in); int logCount = new OperateLogInfoDao().Count()+1; int exerCount = new ExerciseDao().Count()+1; boolean j = false; java.text.SimpleDateFormat f=new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date utilDate=new java.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("*********************************************"); String str = scn.nextLine(); switch((str.toCharArray())[0]){ case('a'): System.out.println("*********************************************"); System.out.println("添加题目:"); System.out.println("*********************************************"); System.out.println("请输入题目:"); String question = scn.nextLine(); System.out.println("请输入选项x:"); String a = scn.nextLine(); System.out.println("请输入选项y:"); String b = scn.nextLine(); System.out.println("请输入选项z:"); String c = scn.nextLine(); System.out.println("请输入选项m:"); String d = scn.nextLine(); ExerciseInfo e = new ExerciseInfo(exerCount,question,a,b,c,d,"easy"); exerCount++; if((new ExerciseDao().Add(e))>0){ new OperateLogInfoDao().Add(new OperateLogInfo(logCount,name,"insert exercise: "+question,new Date(utilDate.getTime()),"ok")); logCount++; System.out.println("添加成功,是否继续添加?(y/n)"); String judje1 = 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:"); String strId = scn.nextLine(); int eId=Integer.parseInt(strId); if((new ExerciseDao().Del(eId))>0){ new OperateLogInfoDao().Add(new OperateLogInfo(logCount,name,"delete exercise: id="+eId,new Date(utilDate.getTime()),"ok")); logCount++; System.out.println("删除成功,是否继续删除:(y/n)"); String judje2 = scn.nextLine(); if(judje2.equals("y")){ System.out.println("删除成功!"); j = false; } } break; case('c'): System.out.println("*********************************************"); System.out.println("显示题目:"); System.out.println("*********************************************"); for(int i=1;i<=exerCount;i++){ ExerciseDao ed = new ExerciseDao(); ExerciseInfo e1 = 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(int i=1;i<logCount;i++){ OperateLogInfoDao o = new OperateLogInfoDao(); 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 基础教程》 ,《Effective Java中文版》,以及百度相关文献资料。 11
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服