Java课程大作业
Java课程大作业俄罗斯方块作业报告[1]
![Java课程大作业俄罗斯方块作业报告[1]](https://img.taocdn.com/s3/m/4a8b00cf6f1aff00bed51ea8.png)
游戏流程图:
进入游戏界面 点击按钮“开始” ,游戏开 始 蛇开始随机出现 键盘操作: “左移” “右移” “旋转” “加速”
到达顶端
单击 “开始” 游戏 继续
游戏结束
游戏面板
点击“开始”Leabharlann 戏开始如图:按“”控制蛇的方向如下图:
方块不能继续下落时游戏结束,出现“Game over” ,如图:
作业结果(学生填写) : 程序设计思路(300字以上,可附流程图或类图)
俄罗斯方块游戏设计与实现,主要分为以下二个模块:游戏主界面模块和游戏控制 模块。 在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现移动速度、重新 开始等功能。 游戏主界面模块: 游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形 区域界面、游戏速度控制、重新开始游戏、速度等级以及当前分数。从很大程度上 决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。 游戏控制模块: 这个模块是游戏的中心环节,主要完成控制游戏的速度、重新开始等功能。为 了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。设计所开发的 是基于 Java 的一个俄罗斯方块游戏软件,主要实现游戏的速度控制。分为: 游戏 主界面模块、游戏控制模块以二个模块。 性能: 本软件在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程 中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。
Java 程序设计 课程作业报告 作业:俄罗斯方块游戏
姓名 程序得分 90% 作业目的: 掌握基本的图形程序设计方法 掌握Java事件处理程序编写方法 掌握编写基于TCP或UDP协议的网络通讯程序 掌握Java的流、文件、多线程等编程技术 郭阳 作业报告 得分 10% 学号 1143730212 实验总分 100%
《Java程序设计》大作业

1、查询余额:初始余额为10000元
2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3、ATM存款:不能出现负存款。
4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
6、万年历
要求:
使用图形用户界面。
实现日期与星期的查询
7、计算器
要求:
使用图形用户界面。
实现常用的计算功能。
8、日历记事本
要求:带有日程提醒功能的日历。
1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。
2、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。
《Java程序设计》大作业
要求:
最后提交打印的大作业报告,报告内容格式如下:
封面(包括姓名,学号,班级,专业,院系)
题目(把你选择的题目写在这里)
程序(程序的源代码)
运行结果(运行的结果,贴图的形式)
总结
大作业题目:
1、编写一个记事本程序
要求:
用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
12、.敏感词汇分析
要求:
任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。
3、查询信息:用户可以查询到某个月的所有的提示信息。
java大作业

南京邮电大学计算机学院2014/2015学年第2学期《JAVA语言》课程大作业报告课题代号(单选)□课题1 □课题2 □课题3课题名称:____________拼图游戏程序______________________________小组成员人数(单选)□1人□2人□3人□4人□5人□6人小组成员名单(学号和姓名):课题实现采用的开发工具(如为其他,请填写具体工具名称)□NetBeans□Eclipse □JDK命令行□其他_____________课题实现采用的操作系统(如为其他,请填写操作系统名称)□Microsoft Windows □Unix □ Linux□Mac OS □其他___________课题实现形式(如为PC桌面应用程序之外的其他形式请填写)___________课题完成时间:___________________________________对应提交的电子文档文件夹名称(准确填写):_________________________________________________________________===================以下部分为教师填写区,请勿填写=======================评阅编号:()-()成绩评定:软件运行______软件基本功能_______软件提高功能______ 软件部分成绩________文档结构______文档理论___________文档撰写__________ 文档部分成绩________总成绩_____________备注____________________________________________________________________报告内容一、软件系统分析和设计方案本课题设计的拼图游戏是将游戏界面上的完整图片,自动分割成指定的M*N(其中M和N分别为图块矩阵的行和列,例如3x3=9块,4x5=20块)个图片小方块并随机散布在游戏界面中,然后通过鼠标的拖动来完成图片的拼接。
java程序设计大作业

Java程序设计大作业可能涉及多个方面,具体取决于你的课程要求和教师的要求。
以下是一个可能的Java程序设计大作业的示例:题目:设计并实现一个简单的计算器应用程序。
要求:1. 使用Java编写一个命令行应用程序,能够执行基本的数学运算(加、减、乘、除)。
2. 用户应该能够输入两个数字和一个运算符,程序将根据运算符执行相应的运算并输出结果。
3. 程序应该能够处理不同类型的数字(整数和浮点数)和运算符。
4. 程序应该能够处理输入错误,例如用户输入了无效的运算符或非数字字符。
示例代码:```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数字:");double num1 = scanner.nextDouble();System.out.print("请输入运算符(+、-、*、/):"); String operator = scanner.next();System.out.print("请输入第二个数字:");double num2 = scanner.nextDouble();double result = 0;switch (operator) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":if (num2 == 0) {System.out.println("除数不能为0!");return;} else {result = num1 / num2;}break;default:System.out.println("无效的运算符!");return;}System.out.println(num1 + " " + operator + " " + num2 + " = " + result);}}```在这个示例代码中,我们使用了`Scanner`类从用户那里获取输入。
《JAVA程序设计》大作业报告模板

华北科技学院计算机系课程综合作业实验报告课程名称JAVA程序设计实验学期2010 至2011 学年第 1 学期学生所在系部计算机年级08级专业班级信管B082学生姓名学号************ 任课教师实验成绩计算机系制《JAVA程序设计》课程综合作业实验报告学生的学号,可以更新这条记录中的数据;“查询记录”,输入要查询学生学号可以查询这个学生的所有信息;选择分数信息中的“各科最高低分”菜单,可以查询所有学科中的最高分和最低分;“总分平均分”显示所有学生的总分和平均分。
3.主要代码本程序使用Java中基于SWING的图形设计,用到java中的java.awt.*内的包,控件的布局用到java.swing.border.*包,事件处理用到java.awt.event.*,连接数据库用到java.sql 登录界面主要代图1public class denglu{public static void main(String args[]){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){ //11System.out.println(""+e);}new WindowBox("登录窗口"); //调用方法}}class WindowBox extends JDialog implements ActionListener{//声明Box baseBox,boxV1,boxV2,boxV3;JButton button1,button2;}}}如果出现用户名密码错误则会出现提示信息对话框图2通过调用Datawin类中的内容可以进入到主界面声明菜单中的显示、添加、删除、修改、查询、最高低分以及总分平均分菜单项和类,能过给菜单添加事件监听事件图3public void actionPerformed(ActionEvent e){if(e.getSource()==itemshow)show.setVisible(true);else if(e.getSource()==itemadd)add.setVisible(true);else if(e.getSource()==itemupdata)updata.setVisible(true);a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getString(3);a[k][3]=rs.getString(4);a[k][4]=rs.getString(5);a[k][5]=rs.getString(6);k++;}con.close();}catch(SQLException ee){System.out.println(ee);} //处理异常table=new JTable(a,name);getContentPane().removeAll(); //采用BorderLayout布局add(showRecord,BorderLayout.NORTH);add(new JScrollPane(table),BorderLayout.CENTER);validate();}图4构造增加类,声明组件,定义一个表名Object name[]={"学号","姓名","年龄","性别","系别","班级"};和定义一个表单Object a[][]=new Object[1][6];然后给按钮组件增加以下监听事件,通过对表单中输入数据进而增加到数据库中public void actionPerformed(ActionEvent e)//处理事件图5图6构造删除类,声明组件,在文本框中输入信息,进而可以删除数据库中相应的记录给文本框和按钮增加以下事件public void actionPerformed(ActionEvent e){if(e.getSource()==inputNumber){try{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM 学生信息 WHERExueid='"+num+"'");boolean boo=rs.next();if(boo==false){JOptionPane.showMessageDialog(this,"学号不存在",table.repaint();//重打印表con.close();}catch(SQLException ee){JOptionPane.showMessageDialog(this,"更新失败"+ee,"失败",JOptionPane.ERROR_MESSAGE);}}//if图7构造查询方法查询这个窗体整体彩盒式布局,首先声明类和方法设计窗体的外观,给相应的组件添加事件利用SQL语句查询数据库中的信息 rs=sql.executeQuery("SELECT * FROM 学生信息WHERE xueid='"+num+"'");如果输入学号数据库中不存在提示信息“学号不存在”,否则利用table.repaint();方法将数据库中的信息输入到窗体中的table中public void actionPerformed(ActionEvent e)//处理事件{try//连接数据原 hello{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");图8构造最高最低分类首先定义两个静态变量m,n;将数据库中的信息利用查询的方法显示在数字 int b[][]中,con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//只读形式rs=sql.executeQuery("SELECT * FROM 分数信息");st();利用如下方法求得语文成绩的最高分和最低分for(k=0;k<lastNumber;k++){if(m<b[k][0]){m=b[k][0];}if(n>b[k][0]){n=b[k][0];}}a[0][1]=m;a[1][1]=n;同理可以求得其它几科成绩的最高分和最低分然后,将object a[][]中的信息显示有窗体中图9构造总分平均分方法首先将数据库中的信息显示在利用SQL查询方法显示有两个数据中object a[][]和int b[][]中利用如下方法将求得总分和平均分try{con=DriverManager.getConnection("jdbc:odbc:hello","",""); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=sql.executeQuery("SELECT * FROM 分数信息");st();int lastNumber=rs.getRow();b=new int[lastNumber][4];a=new Object[lastNumber][8];int k=0;rs.beforeFirst();while(rs.next()){a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getByte(3);b[k][0]=rs.getByte(3);a[k][3]=rs.getByte(4);b[k][1]=rs.getByte(4);a[k][4]=rs.getByte(5);b[k][2]=rs.getByte(5);a[k][5]=rs.getByte(6);b[k][3]=rs.getByte(6);a[k][6]=b[k][0]+b[k][1]+b[k][2]+b[k][3];a[k][7]=(b[k][0]+b[k][1]+b[k][2]+b[k][3])/4;k++;}con.close();}catch(SQLException ee){System.out.println(ee);}图10四、实验结果及分析程序运行中的报告分析1、在登陆时如果输入不正确的用户和密码会提示用户名或密码错误,因为通过getText()方法无法获得正确的字符串从而提示错误2、在进行数据库相应操作时,如果无法正确连接数据库则会提示不存在所需的数据资源,可能原因是没有正确连接到数据源,即可能数据源名称不正确,或者在数据库中不存在相应的表,或者可能SQL语法错误在进行相应的查询的删除操作时,如果不存在输入的学号会提示用户,“学号学号不存在”,因为不在数据库不无法在相应的字段下找到相匹配的字符串。
java课程设计大作业

java课程设计大作业近年来,随着互联网技术的高速发展,计算机科学成为当今社会中极其重要的一个学科,许多大学都开设了关于计算机科学的专业课程。
而随之而来的,就是计算机相关的课程设计大作业。
Java是一种计算机语言,它的许多优良特性,使它受到越来越多学术界及企业界的青睐和关注。
在计算机科学中,Java编程语言被许多学校广泛应用,学生们的课程设计作业也大多使用Java来完成。
课程设计作业是计算机科学学习的重要组成部分,也是学习Java 编程语言的重要途径。
Java课程设计大作业主要用于开发一个完整的软件系统,包括设计程序要求、实现用户界面、执行测试以及最终的运行和部署等。
它的设置目的,是希望学生在规定的时间内,利用学到的知识和技能,能够独立进行系统软件的开发。
完成Java课程设计大作业,需要做到以下几点:首先,重要的是要明确自己的课程设计任务,把握自己课程设计可以做到什么程度;其次,要学会深入研究计算机编程语言,特别是Java,了解其内部架构原理;第三,要熟悉开发软件系统流程,明确项目的实施步骤,确保能按时完成;最后,要学会如何使用工具,比如Java语言的开发工具,来提高编程效率。
完成Java课程设计大作业对于学生而言,除了帮助学生深入学习Java编程语言外,还可以提升学生的项目管理能力。
它可以帮助学生掌握有关软件设计、开发、测试、部署的流程以及整个软件生命周期的管理知识,让学生以后更容易找到工作,并能够更好地完成软件项目任务。
总之,完成Java课程设计大作业,不仅可以提高学生的Java编程能力,而且还可以帮助他们提升项目管理能力,为他们以后的工作打好基础。
随着技术的不断发展,Java课程设计大作业也将变得越来越重要。
JAVA程序设计大作业报告

过程:
1、课程设计目的 2、课程设计题目描述与要求 3、课程设计报考内容 4、输出结果 5、实验总结
1、课程设计目的
用面向对象语言JAVA完成计算 器的设计和实施。通过课程设计掌 握面向对象编程技术,常用库类的 使用和应用系统的开发过程。
2、课程设计题目描述与要求
(1)完成窗口的关闭 按钮的功能; (2)完成清空键 功能;(即清空文本框中的内容) (3)完成数字按钮的功能;(即文本框显示对应数字) (4)完成基本的“+”,“-”,“*”,“/”四则运算;
3、课程设计报告内容
3.1 课程设计思路 设计的程序能完成计算器的基本功能 例如四则运算 3.2 设计过程 本次设计一个简易的计算器的界面,该计算器运行 程序后的界面如下图所示 该计算机包括了加减乘除四则运算 操作建议
3.3实验源代码
在设计这个程序的开始,我们首先设计这个计算器的 界面,我用比较简单的方法,运用GridLayout(4,5)来实 现简单的排版。然后把我需要的几个按键都依次的输入s("CE"))
{
display.setText("0"); start=true; flag=true; command="=";
} else if(start&&flag) { if(command.equals("-")) { display.setText(command); start=false; } else if((command.equals("1/x")||command.equals("sqrt"))&&flag) calculate(Double.parseDouble(display.getText()),command); else if(flag) lastCommand=command; } else { if(command.equals("Backspace")&&flag) { String s=display.getText(); char[] s1=s.toCharArray(); if(s.length()>=2) { String s2=new String(s1,0,s.length()-1); display.setText(s2); } else { display.setText("0"); start=true; } } else if(flag) { calculate(Double.parseDouble(display.getText()),command); lastCommand=command; start=true; } } } }
JAVA课程大作业文档模板

皖西学院JA V A课程期末大作业( 2016 -- 2017 年度第二学期)课程名称:JA V A程序设计题目:备忘录系统院系:电信学院班级:电子1402班组名:风尘三侠组员(姓名+学号):陈松龄(2014013860)陈志康(2014013863)贾林松(2014013870)授课教师:范祥林日期:2017 年6 月18 日备忘录系统摘要:本作业利用JAVA进行开发,实现个人备忘录管理系统是能够运行在普通个人电脑上,为使用者提供日常信息管理功能的工具软件,使用者可以通过个人备忘录管理系统对日常工作/生活琐事进行更有效的管理,主要是为使用者提供对个人信息更方便的记录和查询功能,为使用者在个人信息管理上带来更多的便利。
具有日常记事:记录日常生活或者工作事件,以免遗忘,并提供记录的查询,添加和删除等管理功能。
一、目的与要求1.需求描述:基于MySql实现备忘录系统功能。
2.通过实践训练,进一步掌握JAVA开发方法,测试方法,提高软件开发和设计的能力。
3.进一步加强和提高工程文档的编写能力;二、需求分析本次系统采用结构化的设计方法进行设计,是设计成一个相对封闭的单机运行系统,作为大众化的应用软件,其用户界面是决定软件质量的首要条件。
所以,界面设计是开发与设计的重点。
充分贯彻简单易用、美观大方的基本原则,采用快速开发平台netbeans进行开发,并结合access数据库完成数据的导入。
NetBeans 平台是一种可重复使用的框架用于简化其他桌面应用程式的开发。
当基于NetBeans 平台的应用被执行,平台主要类别的main方法便会被执行。
可用的模组会被放置在存储器中,并且开始执行任务。
通常模组会只在被需要时,其代码才会被装进记忆。
应用程式能动态安装模组。
任何应用程式能包括更新模组,允许用户申请下载的应用程式升级和加入新功能。
这样安装,升级以及新发并行不必迫使用户每次再下载整个应用程式。
整个 Netbeans 平台提供对桌面应用程式常用的服务,允许开发者集中于仅限于他的应用程式的逻辑设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java课程大作业课程名称:网上书店组长:张为晓(1201050244)组员:包志英(1201050201)组员:常铭(1201050203)组员:方坦(1201050208)专业:计算机2012-2指导教师:仇丽青山东科技大学2015年1月15日小组完成任务情况统计表一、课程设计概述(目的、任务及分工情况、开发环境、参考资料)目的设计一个网上书店系统,该系统可以提供基本的书店相关的服务,并且有一定的可维护性任务及分工张为晓:组长主程序员、数据库设计包志英:辅程序员、网站设计常铭:辅程序员、文本设计方坦:辅程序员、素材收集开发环境运行平台:win7操作系统编译语言 Java编译程序 MyEclipse参考资料钱乐秋赵文耘牛军钰《软件工程(第2版)》清华大学出版社王珊《数据库系统概论》高等教育出版社陆杰《Web系统设计》浙江大学出版社二、项目的需求分析过程及需求模型可行性研究经过讨论得出了数据字典以及数据流图,并且在具体的实现方面做了完善的处理该系统主要由用户、图书信息、购买等模块构成用户管理系统,图书管理系统等。
具体为:用户管理系统:用户注册、用户登录、用户资料图书管理系统:加入图书、图书数量、图书购买三、项目设计模型(包括总体设计和详细设计),重点阐述采用的主要方法与技术总体设计本系统开发主要采用自顶向下的开发方式,瀑布模型,如图:四、实现项目的过程与步骤1. 由组长带领下全组进行设计讨论会议;2. 由组长分派各组员任务,素材收集员收集素材;3. 各组员分别完成系统功能的一部分,交由组长;4. 组长进行整合并完善代码;5. 全组总结,完成设计报告。
五、关键代码:package dao;import java.sql.Connection;import java.sql.PreparedStatement;import util.ConnDB;//添加图书信息public class AddBook {public int addbook(String bookname,String press,String author,double price){ int id=0;String sql="insert into BookInfo(BookName,Press,Author,Price) values(?,?,?,?)";PreparedStatement ps=null;try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, bookname);ps.setString(2, press);ps.setString(3, author);ps.setDouble(4, price);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}//添加到购物车public int addshopcar(String bookname,String press,String author,double price,String username,String img){int id=0;String sql="insert into ShopCarInfo(name,press,author,price,username,img) values(?,?,?,?,?,?)";PreparedStatement ps=null;try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, bookname);ps.setString(2, press);ps.setString(3, author);ps.setDouble(4, price);ps.setString(5, username);ps.setString(6, img);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.Date;import java.sql.PreparedStatement;import util.ConnDB;public class AddNews {public int addnews(String name,String news,Date date){int id=0;String sql="insert into News(name,news,date) values(?,?,?)";PreparedStatement ps=null;ConnDB cdb=new ConnDB();try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, name);ps.setString(2, news);ps.setDate(3, date);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import util.ConnDB;import entity.Admin;public class AdminLogin {public boolean adminlogin(String username,String password){boolean id=false;String sql="select * from AdminInfo where Username=? and Password=?";ConnDB cdb=new ConnDB();PreparedStatement ps=null;try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1,username);ps.setString(2,password);ResultSet rs=ps.executeQuery();while(rs.next()){id=true;Admin ad=new Admin();ad.setUsername(rs.getString("username"));ad.setPassword(rs.getString("password"));}}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import util.ConnDB;import entity.Book;import entity.News;import entity.ShopCar;public class BookshopDao {//显示所有图书信息public List<Book> allbooks(){List<Book> list=new ArrayList<Book>();String sql="select * from BookInfo";try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;ResultSet rs=null;ps=conn.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){Book book=new Book();book.setBookname(rs.getString("BookName"));book.setPrice(rs.getDouble("Price"));book.setAuthor(rs.getString("Author"));book.setPress(rs.getString("Press"));book.setImg(rs.getString("img"));list.add(book);}ps.close();}catch(Exception ex){ex.printStackTrace();}return list;}//查询符合条件的图书信息public List<Book> bookquery(String option,String bookoption){ List<Book> list=new ArrayList<Book>();try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;ResultSet rs=null;if(option.equals("BookName")){String sql="select * from BookInfo where BookName like ?";ps=conn.prepareStatement(sql);ps.setString(1,'%'+bookoption+'%');rs=ps.executeQuery();while(rs.next()){Book book=new Book();book.setBookname(rs.getString("BookName"));book.setPrice(rs.getDouble("Price"));book.setAuthor(rs.getString("Author"));book.setPress(rs.getString("Press"));book.setImg(rs.getString("img"));list.add(book);}ps.close();}else if(option.equals("Press")){String sql2="select * from BookInfo where Press like ?";ps=conn.prepareStatement(sql2);ps.setString(1,'%'+bookoption+'%');rs=ps.executeQuery();while(rs.next()){Book book=new Book();book.setBookname(rs.getString("BookName"));book.setPrice(rs.getDouble("Price"));book.setAuthor(rs.getString("Author"));book.setPress(rs.getString("Press"));book.setImg(rs.getString("img"));list.add(book);}ps.close();}else if(option.equals("Author")){String sql3="select * from BookInfo where Author like ?";ps=conn.prepareStatement(sql3);ps.setString(1,'%'+bookoption+'%');rs=ps.executeQuery();while(rs.next()){Book book=new Book();book.setBookname(rs.getString("BookName"));book.setPrice(rs.getDouble("Price"));book.setAuthor(rs.getString("Author"));book.setPress(rs.getString("Press"));book.setImg(rs.getString("img"));list.add(book);}ps.close();}}catch(Exception ex){ex.printStackTrace();}return list;}//根据bookname查询图书信息以便更新使用public Book getbookname(String bookname){Book book =null;String sql ="select * from BookInfo where BookName=?";try{ConnDB dbc=new ConnDB();Connection con=dbc.getConn();PreparedStatement psmt =con.prepareStatement(sql);psmt.setString(1,bookname);ResultSet rs=psmt.executeQuery();if(rs.next()){book= new Book();book.setBookname(rs.getString("BookName"));book.setPress(rs.getString("Press"));book.setAuthor(rs.getString("Author"));book.setPrice(rs.getDouble("Price"));book.setImg(rs.getString("img"));}psmt.close();}catch(Exception e) {e.printStackTrace();}return book;}//显示购物车信息public List<ShopCar> shopcar(String username){List<ShopCar> list=new ArrayList<ShopCar>();String sql="select * from ShopCarInfo where username=?";try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;ResultSet rs=null;ps=conn.prepareStatement(sql);ps.setString(1, username);rs=ps.executeQuery();while(rs.next()){ShopCar book=new ShopCar();book.setId(rs.getInt("id"));book.setName(rs.getString("name"));book.setPrice(rs.getDouble("price"));book.setAuthor(rs.getString("author"));book.setPress(rs.getString("press"));book.setUsername(rs.getString("username"));book.setImg(rs.getString("img"));list.add(book);}ps.close();}catch(Exception ex){ex.printStackTrace();}return list;}//显示网站公告信息public List<News> allnews(){List<News> list=new ArrayList<News>();String sql="select * from News";try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;ResultSet rs=null;ps=conn.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){News news=new News();news.setId(rs.getInt("id"));news.setName(rs.getString("name"));news.setNews(rs.getString("news"));news.setDate(rs.getDate("date"));list.add(news);}ps.close();}catch(Exception ex){ex.printStackTrace();}return list;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import util.ConnDB;public class DeleteBook {//删除图书public int deletebook(String bookname){int id=0;String sql="delete from BookInfo where BookName=?";try{PreparedStatement ps=null;ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, bookname);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}//删除购物车中的图书public int deleteshopcar(int id){int i=0;String sql="delete from ShopCarInfo where id=?";try{PreparedStatement ps=null;ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setInt(1, id);i=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return i;}}package dao;import java.sql.Connection;import java.sql.Date;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import util.ConnDB;import entity.Message;public class MessageDao {public List<Message> allmessage()//显示用户的留言{List<Message> list=new ArrayList<Message>();String sql="select * from MessageInfo";try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;ResultSet rs=null;ps=conn.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){Message ms=new Message();ms.setId(rs.getInt("id"));ms.setName(rs.getString("name"));ms.setMessage(rs.getString("message"));ms.setDate(rs.getDate("date"));list.add(ms);}ps.close();}catch(Exception ex){ex.printStackTrace();}return list;}//保存用户留言public int message(String name,String message,Date date){int id=0;String sql="insert into MessageInfo(name,message,date) values(?,?,?)";PreparedStatement ps=null;ConnDB cdb=new ConnDB();try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, name);ps.setString(2, message);ps.setDate(3, date);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}//删除用户留言public int delmessage(int id){int i=0;String sql="delete from MessageInfo where id=?";PreparedStatement ps=null;ConnDB cdb=new ConnDB();try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setInt(1, id);i=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return i;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import util.ConnDB;public class ModifyBook {public int modifybook(String bookname,String press,String author,double price){ int id=0;String sql="update BookInfo set Price=?,Author=?,Press=? where BookName=?";PreparedStatement ps=null;ConnDB cdb=new ConnDB();try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setDouble(1, price);ps.setString(2, author);ps.setString(3, press);ps.setString(4, bookname);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import util.ConnDB;public class ModifyPwd {public int modifypwd(String username,String oldpwd,String newpwd){int i=0;String sql="update UserInfo set Password=? where Username=? and Password=?";ConnDB cdb=new ConnDB();PreparedStatement ps=null;try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, newpwd);ps.setString(2,username);ps.setString(3,oldpwd);i=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return i;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import util.ConnDB;public class OrderDao {public int addorder(String username,String bookname,int quantity,double price,String address,String phone){int id=0;String sql="insert into Orders(username,bookname,quantity,price,address,phone) values(?,?,?,?,?,?)";PreparedStatement ps=null;ConnDB cdb=new ConnDB();try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, username);ps.setString(2, bookname);ps.setInt(3, quantity);ps.setDouble(4, price);ps.setString(5, address);ps.setString(6, phone);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import util.ConnDB;public class Register {//注册新用户public int register(String username,String password,String password2,String sex,String phone,String email){int id=0;String sql="insert into UserInfo values(?,?,?,?,?)";ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;try{ps=conn.prepareStatement(sql);ps.setString(1, username);ps.setString(2, password);ps.setString(3, sex);ps.setString(4, phone);ps.setString(5, email);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}//注册时候判断用户名是否存在public boolean registercheck(String username){boolean id=false;String sql="select username from UserInfo where Username=?";PreparedStatement ps=null;ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();try{ps=conn.prepareStatement(sql);ps.setString(1, username);ResultSet rs=ps.executeQuery();if(rs.next()){id=true;}}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import util.ConnDB;import er;public class UserLogin {public boolean login(String username,String password){boolean id=false;String sql="select * from UserInfo where Username=? and Password=?";ConnDB cdb=new ConnDB();PreparedStatement ps=null;try{Connection con=cdb.getConn();ps=con.prepareStatement(sql);ps.setString(1,username);ps.setString(2,password);ResultSet rs=ps.executeQuery();if(rs.next()){id=true;String name=rs.getString("username");String pwd=rs.getString("password");User user1=new User();user1.setUsername(name);user1.setPassword(pwd);}}catch(Exception e){e.printStackTrace();}return id;}}六、个人任务(软件配置、个人完成的程序模块和文档清单)软件配置:PC机,服务器个人完成程序模块:包志英图书查询购买界面常铭主界面及接口张为晓用户注册登录界面方坦用户查询界面七、界面展示开始运行时看到的网站主页:用户注册界面八、遇到的困难与获得的主要成果(本节内容不得少于3页)在这次课程设计过程中,遇到了很多问题。