




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java面向对象程序设计购物管理系统实训报告班 级: 软 件1001 指导教师: 宋 全 记 学 生: 陈 杨 欢 实训时间: 2011年秋期 四川建筑职业技术学院计算机工程系 2011年 12月 29日一、 Java的特点Java具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中优秀的编程语言。Java不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发。Java确实具备了“一旦写成,处处可用”的特点,这也是Java最初风靡全球的主要原因。Java不仅是一门正在被广泛使用的编程语言,而且许多新的领域都涉及了Java语言,Java已成为网络时代最重要的
2、语言之一。二、 实训要求1. 开发环境需要有良好的计算机硬件配置及MyEclipse和Office软件。2. 按实训任务书与指导书的要求,借助教材和所提供的素材认真思考,独立完成项目案例。3. 第一、二天,菜单功能的实现,购物、小票、积分和工资模块;第三、四天,录入、抽奖、切换和折扣模块;第五、六天,查询、统计、录入、验证模块;第七、八天,管理、礼品、密码、馈赠模块;第九、十天,系统信息定义与初始化,系统整体效果,测试与完善。三、 实训目的培养编程的思想,加深对Java这门专业知识的了解,锻炼个人独立思考和逻辑思维能力,为今后步入工作岗位打下能吃苦耐劳、不气不馁的精神基础。四、 主要步骤分析1
3、.用户首先要登录后才能进入系统,因此在登录页面需设置验证用户的用户名和登录密码。2.当用户登录后进入系统主页面,在系统主页面列出“1.客户信息管理”、“2.我要购物”、“3.真情回馈”等选项,当用户选择不同的数字时就进入相应的页面。3.在客户信息管理页面设置“1.所有客户信息”、“2.添加客户信息”、“3.修改客户信息”、“4.查询客户信息”等选项以使管理员能有效且方便地管理整个客户信息系统。4. 用Office办公软件中的Access建立客户信息数据库,以让上面第3点的操作顺利进行。5. 在客户信息管理中,当管理员输入不同的数字后,返回不同的页面供管理员对客户信息进行增、删、改、查等操作。6
4、. 在系统主页面选择“2.我要购物”后,首先显示后台所建数据库的所有的商品信息。然后请顾客输入商品编号和对应编号的商品数量,并询问顾客是否继续购买,当用户选择“y”时继续重复前面的步骤,直到用户选择“n”时进入购物结算页面。7. 在购物结算页面显示该用户的消费单,消费单包括商品名称、个数、折扣、金额、金额总计、实际交费、找钱和所获积分。8. 当用户在购物系统主页输入数字“3”时跳转到真情回馈页面,在真情回馈页面有“1.幸运抽奖”和“2.返回”两项,当用户输入数字“1”时进入幸运抽奖页面,然后询问用户“是否开始?”,当选择“y”后再请用户输入会员卡号和会员积分,后台判断积分在哪个范围,不同的范围
5、返回不同的礼品,积分不够的不返回。五、 主要代码和运行效果1.进入我行我素购物管理系统图1.从登录页面跳转到系统管理页面2. 显示“所有客户信息”的主要代码和运行效果Connection con;Statement sql;ResultSet rs;System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * *");System.out.println("我行我素购物管理系统>客户信息管理>所有客户信息");System.out.println("
6、;会员号 生日 积分");System.out.println("-|-|-");try /建立桥接器Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException e) System.out.print(e);try /与数据源建立连接con=(Connection)DriverManager.getConnection("jdbc:odbc:star2","", "");sql = (java
7、.sql.Connection) con).createStatement();rs = sql.executeQuery("SELECT*FROM CustomerInformation"); /从数据表中进行查寻命令while (rs.next() /将客户所有信息以特定的格式输出来int custNo = rs.getInt(1);String date = rs.getString("custBirth");long custScore = rs.getLong("custScore");System.out.printf(&
8、quot;%-7s", custNo);System.out.printf("%-10s", date);System.out.printf("%6sn", custScore);con.close();catch (SQLException e) System.out.print(e);图2.显示所有客户信息3.“添加客户信息”的主要代码和运行效果System.out.print("请输入会员号(整数):");custNo = input2.nextInt();/读入会员号System.out.print("请输
9、入会员生日(月/日<用两位数表示>):");String custBirth = input2.next();/读入会员生日System.out.print("请输入积分:");custScore = input2.nextInt();/读入积分AddCustomerLink man = new AddCustomerLink();man.setDatasourceName("star2");/数据源名称为“star2”String backMess;man.setSQL("INSERT INTO CustomerInfo
10、rmation VALUES('" + custNo + "','"+ custBirth + "','" + custScore + "')");/ 将从键盘输入的会员号、会员生日和积分录入数据库表中backMess = man.modifyRecord();System.out.println(backMess);System.out.print("已录入的会员信息是:n" + custNo + "t" + custBirth + &
11、quot;t"+ custScore);图3.向客户信息表中插入客户信息4.“修改客户信息”的主要代码String datasourceName = ""String SQL, message = ""public ModifyCustomerLink() try / 建立JDBC-ODBC桥接器Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); catch (Exception e) public void setSQL(String SQL) th
12、is.SQL = SQL;public void setDatasourceName(String s) datasourceName = s.trim();public String modifyRecord() Connection con;Statement sql = null;try String uri = "jdbc:odbc:" + datasourceName;String id = ""String password = ""con = (Connection) DriverManager.getConnectio
13、n(uri, id, password);/ 与数据库建立连接sql = con.createStatement();sql.execute(SQL);message = "修改用户成功!"con.close(); catch (SQLException e) message = e.toString();return message;System.out.print("请输入要修改的客户的会员号:");CustNo1 = member.nextInt();System.out.print("将此客户原来的生日修改为:");CustB
14、irth1 = member.next();System.out.print("将此客户原来的积分修改为:");CustScore1 = member.nextInt();ModifyCustomerLink link = new ModifyCustomerLink();link.setDatasourceName("star2");/数据源名称为“star2”String backMess;link.setSQL("UPDATE CustomerInformation SET custBirth=" + CustBirth1+ &
15、quot; where custNo=" + CustNo1);/ 查询对应会员号的客户并将对应的会员生日和积分做修改link.setSQL("UPDATE CustomerInformation SET custScore=" + CustScore1+ " where custNo=" + CustNo1);backMess = link.modifyRecord();System.out.println(backMess);5.由于查询和删除客户信息与此类似,在这里不做详细说明。6.购物系统图4.选择进入“我要购物”页面7.“购物结算”菜
16、单的主要代码及运行效果System.out.println("我行我素管理系统>我要购物>购物结算");System.out.println("* * * * * * * * * * * * 您的消费单 * * * * * * * * * * * *");System.out.println("物品-单价-折扣-个数-金额");System.out.println(goodsList);/ 打印出该客户购买的所有商品情况以供客户浏览System.out.println("n金额总计:t" + "
17、;¥" + sum);System.out.print("实际交费:t");float payment;Scanner pa = new Scanner(System.in);payment = pa.nextFloat();System.out.println("找钱:t" + "¥" + (payment - sum);int score = (int) sum / 2;/积分的算法为总消费的一半System.out.println("你本次购物所获积分是:" + score);int CustNo1
18、;String number2;Scanner member = new Scanner(System.in);System.out.print("n下面请查询你的积分,请输入你的会员号:");CustNo1 = member.nextInt();ModifyCustomerLink link = new ModifyCustomerLink();link.setDatasourceName("star2");/数据源名称为“star2”String backMess;link.setSQL("UPDATE CustomerInformatio
19、n SET custScore=" + "custScore+"+ score + " where custNo=" + CustNo1);/ 更新该会员的积分图5.打印消费单8“真情回馈”主要代码及运行效果int custScore = rs.getInt("custScore");if (number1 != custScore) System.out.println("抱歉,没有对应的积分!"); else if (number1 = custScore)&& (number1 &g
20、t;= 1000) && (number1 < 2000) System.out.println("恭喜你获得一部价值¥1200的手机!"); else if (number1 = custScore)&& (number1 >= 2000) && (number1 < 3000) System.out.println("恭喜你获得一部价值¥2400的摄影机!"); else if (number1 = custScore)&& (number1 >= 3000) &
21、amp;& (number1 < 4000) System.out.println("恭喜你获得一台价值¥3500的数字电视!"); else if (number1 = custScore)&& (number1 >= 4000) && (number1 < 5000) System.out.println("恭喜你获得一台价值¥4800的电冰箱!"); else if (number1 = custScore) && (number1 >= 5000) System.out.println("恭喜你获得一台价值¥5200的笔记本电脑!"); else System.out.println("抱歉,你的积分不足!");图6.幸运抽奖六、 总结1. 实训期间遇到的问题及解决办法 要将显示效果达到像任务书上的那样并不容易,需要一次次地更正。我在设置购物页面的显示效果时,在控制台上显示的编号、商品名称、单价和折扣总是不能与标题对齐,后来从任务书上看到了使用“t”来打印横向跳格,然后才纠正了过来。 后台数据库中数据的类型与我前台编制的代码设置的输入类型不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准装修设计合同范本
- 《物业管理安全培训》课件
- 2025年版中外合资经营企业合同范本
- 2025年数控刃磨床项目合作计划书
- 2025年抗寄生虫病药项目合作计划书
- 2025年食品蒸发浓缩机械合作协议书
- 2025年钳型表项目合作计划书
- 防潮地面施工方案
- 产地直采核桃协议3篇
- 借款协议补签模板3篇
- 隧道高空作业施工方案
- 危险性较大的分部分项工程专项施工方案严重缺陷清单(试行)
- 深信服超融合HCI技术白皮书-20230213
- 2025年陕西省土地工程建设集团有限责任公司招聘笔试参考题库附带答案详解
- 2024广西公务员【申论A卷、C卷+2023申论A卷】共3套真题及答案
- 《多样的中国民间美术》课件 2024-2025学年人美版(2024)初中美术七年级下册
- 人教版 七年级 下册 语文 第四单元《青春之光》课件
- 2024物业管理数字化升级服务合同
- 灌浆作业安全操作规程(3篇)
- 药品追回管理制度内容
- 二战时期的中国抗日战争
评论
0/150
提交评论