版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《JAVA语言程序设计》我行我素购物管理系统网络0811《JAVA语言程序设计》实训报告----实训目的《Java语言程序设计》实训是技术专业重要的实践教学内容,是内容较综合的程序设计,是对该课程的巩固和提高。通过实训教学,加深理解、巩固课堂教学内容,提高学生编写应用程序的能力和实际动手能力,培养团队合作精神。二、实训内容“我行我素shopping”购物管理系统创建我行我素购物管理系统项目结构,系统入口程序菜单类菜单切换实现客户信息管理子项目功能,实现购物结算子项目功能,实现真情回馈子项目功能,调试代码、撰写项目实训说明书等功能。三、创建我行我素购物管理系统项目结构本购物管理系统要创建6个项目类,实现多功能,分别是:1.CustManagement(客户管理类),具体有(1)商品信息(2)会员信息(3)加载系统数据(4)加载数据(5)返回上一级菜单(6)显示会员信息(7)添加会员信息(8)修改会员信息2.Data(数据类),具体有(1)商品信息(2)会员信息(3)客户信息(4)商品信息3.Manager(管理员类)4.Menu(菜单类),具体有(1)商品信息(2)会员信息(3)加载系统数据(4)显示登录菜单(5)显示主菜单(6)显示客户管理菜单(7)显示礼品馈赠菜单5.pay(支付类实现购物结算),具体有(1)商品信息(2)会员信息(3)传递数据库(4)返回上一级菜单(5)计算客户的折扣数目(6)购物结算<打印商品清单><录入购物信息><查询单价><连接购物清单><计算消费总金额><打印购物小票><计算本次购物所获积分><更改会员积分>(7)返回上一级菜单6.StartSMS(系统入口程序),具体有(1)系统程序入口(2)初始化系统管理员(3)加载会员信息和商品信息(4)显示登陆菜单(5)实现菜单(6)密码验证四、1、系统入口程序菜单类菜单切换我行我素购物管理系统的功能模块图退出更改退出更改管理员密码登录系统7:KappaT恤6:Kappa网球5:Nike运动鞋4:addidasT恤 3:网球拍2:Kappa网球裙1:addidas运动鞋 会员编号商品编号金额总计实际交费更改管理员密码登录系统退出生日问候幸运抽奖幸运大7:KappaT恤6:Kappa网球5:Nike运动鞋4:addidasT恤 3:网球拍2:Kappa网球裙1:addidas运动鞋 会员编号商品编号金额总计实际交费更改管理员密码登录系统退出生日问候幸运抽奖幸运大放送查询客户信息修改客户信息添加客户信息显示所有客户信息注销真情回馈购物结算客户信息管理五:程序代码一:开始程序代码StartSMSpackagecom.wxws.sms.management;//引入包importcom.wxws.sms.data.*;//引用com.wxws.sms.data.里的所有类importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.*;//引入键盘输入类的所有类publicclassStartSMS{//组织一个类,类名是StartSMS/***我行我素购物管理系统的入口**/ publicstaticvoidmain(String[]args){//定义一个公共的、静态的、没有返回值的主方法 /*出始化商场的商品和客户信息*/Datainitial=newData();//给Data动态初始化并创建一个空间initial.ini();//对象initial调用方法名iniScannerinput=newScanner(System.in);//从键盘输入commnetlj=newcommnet();lj.lianjie();/*进入系统*/Menumenu=newMenu();//调用菜单类 menu.setData(initial.goodsName,initial.goodsPrice, initial.custNo,initial.custBirth,initial.custScore);//对象调用方法,把客户信息和商品信息引入到菜单中menu.showLoginMenu();//调用登陆菜单类intchoice=input.nextInt();//从键盘输入一个整数给choiceswitch(choice){case1: /*密码验证*/ System.out.print("请输入用户名:"); Stringname=input.next();System.out.print("请输入密码:");input=newScanner(System.in);Stringpsw=input.next();try//连接后台数据库代码 { Connectioncon=DriverManager.getConnection("jdbc:odbc:mydb","zll","0811"); Statementstmt=con.createStatement(); ResultSetrs=stmt.executeQuery("select*frommimawhereusername='"+name+"'"); while(rs.next()) { //Stringuname=rs.getString("username"); Stringpwd=rs.getString("password"); if(psw.equals(pwd)){ stmt.close(); con.close(); menu.showMainMenu(); } else {System.out.println("\n您没有权限进入系统!谢谢!"); System.out.println("谢谢您的使用!");stmt.close(); con.close();break;} } System.out.println("\n您没有权限进入系统!谢谢!"); System.out.println("谢谢您的使用!");stmt.close(); con.close();break; }catch(SQLExceptione) { System.out.println("数据库执行错误"+e.getMessage()); } break;case2: break;case3: System.out.println("谢谢您的使用!"); break;default: System.out.print("\n输入有误!请重新选择,输入数字:");/*菜单选择*/}}}二:菜单类Meunpackagecom.wxws.sms.management;//引入包,包名为com.wxws.sms.managementimportjava.util.Scanner;//引入java类的util类的Scannerimportcom.wxws.sms.data.*;//引入com类的wxws类的sms类中的data类中的所有的类/***Menu.java*菜单类*/publicclassMenu{//定义一个类,类名为Menu /*商品信息*/ publicString[]goodsName;//定义数组变量publicdouble[]goodsPrice;////定义商品名和商品价格/*会员信息*/publicint[]custNo;publicString[]custBirth;//定义会员号,会员生日和会员积分publicint[]custScore; /** *传递数据库 */ publicvoidsetData(String[]goodsName1,double[]goodsPrice1,int[]custNo1,String[]custBirth1,int[]custScore1){ goodsName=goodsName1; goodsPrice=goodsPrice1; custNo=custNo1; custBirth=custBirth1; custScore=custScore1; } /** *显示我行我素购物管理系统的登录菜单 */ publicvoidshowLoginMenu(){ System.out.println("\n\n\t\t\t欢迎使用我行我素购物管理系统1.1版\n\n"); System.out.println("****************************************\n"); System.out.println("\t\t\t\t1.登录系统\n\n"); System.out.println("\t\t\t\t2.更改管理员密码\n\n"); System.out.println("\t\t\t\t3.退出\n\n"); System.out.println("****************************************\n"); System.out.print("请选择,输入数字:"); } /** *显示我行我素购物管理系统的主菜单 */ publicvoidshowMainMenu(){ System.out.println("\n\n\t\t\t\t欢迎使用我行我素购物管理系统\n"); System.out.println("****************************************\n"); System.out.println("\t\t\t\t1.客户信息管理\n"); System.out.println("\t\t\t\t2.购物结算\n"); System.out.println("\t\t\t\t3.真情回馈\n"); System.out.println("\t\t\t\t4.注销\n"); System.out.println("****************************************\n"); System.out.print("请选择,输入数字:"); Scannerinput=newScanner(System.in); booleancon=false; do{ Stringnum=input.next(); if(num.equals("1")){//显示客户信息管理菜单 showCustMMenu(); break; }elseif(num.equals("2")){//显示购物结算菜单 Paypay=newPay(); pay.setData(goodsName,goodsPrice,custNo,custBirth,custScore); pay.calcPrice(); break; }elseif(num.equals("3")){//显示真情回馈菜单 showSendGMenu(); break; }elseif(num.equals("4")){ showLoginMenu(); break; }else{ System.out.print("输入错误,请重新输入数字:"); con=false; } }while(!con); } /** *客户信息管理菜单 */ publicvoidshowCustMMenu(){ System.out.println("我行我素购物管理系统>客户信息管理\n"); System.out.println("****************************************\n"); System.out.println("\t\t\t\t1.显示所有客户信息\n"); System.out.println("\t\t\t\t2.添加客户信息\n"); System.out.println("\t\t\t\t3.修改客户信息\n"); System.out.println("\t\t\t\t4.查询客户信息\n"); System.out.println("****************************************\n"); System.out.print("请选择,输入数字或按'n'返回上一级菜单:"); Scannerinput=newScanner(System.in); booleancon=true;//处理如果输入菜单号错误 do{ CustManagementcm=newCustManagement(); cm.setData(goodsName,goodsPrice,custNo,custBirth,custScore); Stringnum=input.next(); if(num.equals("1")){ cm.show(); break; }elseif(num.equals("2")){ cm.add(); break; }elseif(num.equals("3")){ cm.modify(); break; }elseif(num.equals("4")){ cm.search(); break; }elseif(num.equals("n")){showMainMenu(); break; }else{ System.out.println("输入错误,请重新输入数字:"); con=false; } }while(!con); } /** *显示我行我素购物管理系统的真情回馈菜单 */ publicvoidshowSendGMenu(){ System.out.println("我行我素购物管理系统>真情回馈\n"); System.out.println("****************************************\n"); System.out.println("\t\t\t\t1.幸运大放送\n"); System.out.println("\t\t\t\t2.幸运抽奖\n"); System.out.println("\t\t\t\t3.生日问候\n"); System.out.println("****************************************\n"); System.out.print("请选择,输入数字或按'n'返回上一级菜单:"); Scannerinput=newScanner(System.in); booleancon=true;//处理如果输入菜单号错误 GiftManagementgm=newGiftManagement(); gm.setData(goodsName,goodsPrice,custNo,custBirth,custScore); do{ Stringnum=input.next(); if(num.equals("1")){//幸运大放送 gm.sendGoldenCust(); break; }elseif(num.equals("2")){//幸运抽奖 gm.sendLuckyCust(); break; }elseif(num.equals("3")){//生日问候 gm.sendBirthCust(); break; }elseif(num.equals("n")){showMainMenu();break; }else{ System.out.println("输入错误,请重新输入数字:"); con=false; } }while(!con); }}六:客户信息及子功能模块一:连接后台数据库的客户管理程序代码Custmangementpackagecom.wxws.sms.management;importjava.util.Scanner;importcom.wxws.sms.data.*;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.*;publicclassCustManagement{ /*商品信息*/ publicString[]goodsName;publicdouble[]goodsPrice;/*会员信息*/publicint[]custNo;publicString[]custBirth;publicint[]custScore; /** *传递数据库 */ publicvoidsetData(String[]goodsName1,double[]goodsPrice1,int[]custNo1,String[]custBirth1,int[]custScore1){ goodsName=goodsName1; goodsPrice=goodsPrice1; custNo=custNo1; custBirth=custBirth1; custScore=custScore1; } /** *返回上一级菜单 */ publicvoidreturnLastMenu(){ System.out.print("\n\n请按'n'返回上一级菜单:"); Scannerinput=newScanner(System.in); booleancon=true; do{ if(input.next().equals("n")){ Menumenu=newMenu(); menu.setData(goodsName,goodsPrice,custNo,custBirth,custScore); menu.showCustMMenu(); }else{ System.out.print("输入错误,请重新'n'返回上一级菜单:"); con=false; } }while(!con); } /***增加会员*/ publicvoidadd(){ System.out.println("我行我素购物管理系统>客户信息管理>添加客户信息\n\n"); Scannerinput=newScanner(System.in); System.out.print("请输入会员号(<4位整数>):"); intno=input.nextInt(); System.out.print("请输入会员生日(月/日<用两位数表示>):"); Stringbirth=input.next(); System.out.print("请输入积分:"); intscore=input.nextInt(); /* intindex=-1; for(inti=0;i<=custNo.length;i++){ if(custNo[i]==0){ index=i; break; } } custNo[index]=no; custBirth[index]=birth; custScore[index]=score; */ try { Connectioncon=DriverManager.getConnection("jdbc:odbc:mydb","zll","0811"); Statementstmt=con.createStatement(); Stringsqlstr="insertintokehubiaovalues('"+no+"','"+birth+"','"+score+"')"; stmt.executeUpdate(sqlstr); stmt.close(); con.close(); } catch(SQLExceptione) { System.out.println("数据库执行错误"+e.getMessage()); } System.out.println("新会员添加成功!"); //返回上一级菜单 returnLastMenu(); } /** *更改客户信息 */ publicvoidmodify(){ System.out.println("我行我素购物管理系统>客户信息管理>修改客户信息\n\n"); System.out.print("请输入会员号:"); Scannerinput=newScanner(System.in); intno=input.nextInt(); try { Connectioncon=DriverManager.getConnection("jdbc:odbc:mydb","zll","0811"); Statementstmt=con.createStatement(); ResultSetrs=stmt.executeQuery("select*fromkehubiaowherecustno='"+no+"'"); System.out.println("****************************************\n"); System.out.println("\t\t\t\t1.修改会员生日.\n"); System.out.println("\t\t\t\t2.修改会员积分.\n"); System.out.println("****************************************\n"); System.out.print("请选择,输入数字:"); switch(input.nextInt()){ case1: System.out.print("请输入修改后的生日:"); Stringcustbrith=input.next(); Stringsql="updatekehubiaosetcustbrith='"+custbrith+"'wherecustno='"+no+"'"; stmt.executeUpdate(sql); System.out.println("数据修改成功"); System.out.println("生日信息已更改!"); break; case2: System.out.print("请输入修改后的会员积分:"); Stringcustscore=input.next(); Stringsql1="updatekehubiaosetcustscore='"+custscore+"'wherecustno='"+no+"'"; stmt.executeUpdate(sql1); stmt.close(); con.close(); break; } } catch(SQLExceptione) { System.out.println("数据库执行错误"+e.getMessage()); } //返回上一级菜单 returnLastMenu(); } /** *查询客户的信息 */ publicvoidsearch(){ System.out.println("我行我素购物管理系统>客户信息管理>查询客户信息\n"); Scannerinput=newScanner(System.in); System.out.print("请输入会员号:"); intno=input.nextInt(); System.out.println("\t会员号生日积分"); System.out.println("\t------------|------------|---------------"); try { Connectioncon=DriverManager.getConnection("jdbc:odbc:mydb","zll","0811"); Statementstmt=con.createStatement(); ResultSetrs=stmt.executeQuery("select*fromkehubiaowherecustno='"+no+"'"); while(rs.next()) { System.out.println("\t"+rs.getString("custno")+"\t"+rs.getString("custbirth")+"\t"+rs.getString("custscore")); } stmt.close(); con.close(); } catch(SQLExceptione) { System.out.println("数据库执行错误"+e.getMessage()); } //返回上一级菜单 returnLastMenu(); } /** *显示所有的会员信息 */ publicvoidshow(){ System.out.println("\t我行我素购物管理系统>客户信息管理>显示客户信息\n\n"); System.out.println("\t会员号生日积分"); System.out.println("\t------------|------------|---------------"); /*intlength=custNo.length; for(inti=0;i<length;i++){ if(custNo[i]==0){ break;//客户信息已经显示完毕 } System.out.println(custNo[i]+"\t\t"+custBirth[i]+"\t\t"+custScore[i]); }*/ //返回上一级菜单 try { Connectioncon=DriverManager.getConnection("jdbc:odbc:mydb","zll","0811"); Statementstmt=con.createStatement(); ResultSetrs=stmt.executeQuery("select*fromkehubiao"); while(rs.next()) { System.out.println("\t"+rs.getString("custno")+"\t"+rs.getString("custbirth")+"\t"+rs.getString("custscore")); } stmt.close(); con.close(); } catch(SQLExceptione) { System.out.println("数据库执行错误"+e.getMessage()); } returnLastMenu(); }}二:真情回馈模块程序代码Gifemangementpackagecom.wxws.sms.management;importjava.util.Scanner;importcom.wxws.sms.data.*;/***真情回馈*/publicclassGiftManagement{ /*商品信息*/ publicString[]goodsName;publicdouble[]goodsPrice;/*会员信息*/publicint[]custNo;publicString[]custBirth;publicint[]custScore; /** *传递数据库 */ publicvoidsetData(String[]goodsName1,double[]goodsPrice1,int[]custNo1,String[]custBirth1,int[]custScore1){ goodsName=goodsName1; goodsPrice=goodsPrice1; custNo=custNo1; custBirth=custBirth1; custScore=custScore1; } /** *返回上一级菜单 */ publicvoidreturnLastMenu(){ System.out.print("\n\n请按'n'返回上一级菜单:"); Scannerinput=newScanner(System.in); booleancon=true; do{ if(input.next().equals("n")){ Menumenu=newMenu(); menu.setData(goodsName,goodsPrice,custNo,custBirth,custScore); menu.showSendGMenu(); }else{ System.out.print("输入错误,请重新'n'返回上一级菜单:"); con=false; } }while(!con); } /** *实现生日问候功能 */ publicvoidsendBirthCust(){ System.out.println("我行我素购物管理系统>生日问候\n\n"); System.out.print("请输入今天的日期(月/日<用两位表示>):");Scannerinput=newScanner(System.in);Stringdate=input.next();System.out.println(date);Stringno="";booleanisAvailable=false;for(inti=0;i<custBirth.length;i++){ if(custBirth[i]!=null&&custBirth[i].equals(date)){ no=no+custNo[i]+"\n"; isAvailable=true; }}if(isAvailable){ System.out.println("过生日的会员是:"); System.out.println(no);System.out.println("恭喜!获赠MP3一个!");}else{ System.out.println("今天没有过生日的会员!");}//返回上一级菜单returnLastMenu(); } /***产生幸运会员*/ publicvoidsendLuckyCust(){ System.out.println("我行我素购物管理系统>幸运抽奖\n\n"); System.out.print("是否开始(y/n):"); Scannerinput=newScanner(System.in); if(input.next().equals("y")){ intrandom=(int)(Math.random()*10); intbaiwei;//百位 booleanisAvailable=false; Stringlist="";for(inti=0;i<custNo.length;i++){if(custNo[i]==0){ break;} baiwei=custNo[i]/100%10; if(baiwei==random){ list=list+custNo[i]+"\t"; isAvailable=true; }}if(isAvailable){ System.out.println("幸运客户获赠MP3:"+list);}else{ System.out.println("无幸运客户。");} } //返回上一级菜单returnLastMenu(); } publicvoidsendGoldenCust(){ System.out.println("我行我素购物管理系统>幸运大放送\n\n"); intindex=0; intmax=custScore[0]; //假定积分各不相同 for(inti=0;i<custScore.length;i++){ if(custScore[i]==0){ break;//数组后面为空用户 } //求最大积分的客户 if(custScore[i]>max){ max=custScore[i]; index=i; } } System.out.println("具有最高积分的会员是:"+custNo[index]+"\t"+custBirth[index]+"\t"+custScore[index]);//创建笔记本电脑对象 Giftlaptop=newGift(); ="苹果笔记本电脑"; laptop.price=12000; System.out.print("恭喜!获赠礼品:"); System.out.println(laptop); //返回上一级菜单returnLastMenu(); }}三:支付程序类:paypackagecom.wxws.sms.management;importjava.util.*;publicclassPay{ /*商品信息*/ publicString[]goodsName;publicdouble[]goodsPrice;/*会员信息*/publicint[]custNo;publicString[]custBirth;publicint[]custScore; /**传递数据库*/ publicvoidsetData(String[]goodsName1,double[]goodsPrice1,int[]custNo1,String[]custBirth1,int[]custScore1){ goodsName=goodsName1; goodsPrice=goodsPrice1; custNo=custNo1; custBirth=custBirth1; custScore=custScore1; } /***计算客户的折扣数目*/ publicdoublegetDiscount(intcurCustNo,int[]custNo,int[]custScore){ doublediscount; intindex=-1; for(inti=0;i<custNo.length;i++){ if(curCustNo==custNo[i]){ index=i; break; } } //判断折扣 if(custScore[index]<1000){discount=0.95; }elseif(1000<=custScore[index]&&custScore[index]<2000){ discount=0.9; }elseif(2000<=custScore[index]&&custScore[index]<3000){ discount=0.85; }elseif(3000<=custScore[index]&&custScore[index]<4000){ discount=0.8; }elseif(4000<=custScore[index]&&custScore[index]<6000){ discount=0.75; }elseif(6000<=custScore[index]&&custScore[index]<8000){ discount=0.7; }else{ discount=0.6; } returndiscount;} /*实现购物结算以及输出购物小票*/ publicvoidcalcPrice(){ intcurCustNo;//客户号 intgoodsNo=0;//商品编号 doubleprice;//商品价格 Stringname; intcount;//购入数量 Stringchoice; StringgoodsList="";//购物清单 doubletotal=0;//购物总金额 doublefinalPay=0;//打折后需付款 doublepayment;//实际交费金额 System.out.println("我行我素购物管理系统>购物结算\n\n"); //打印产品清单 System.out.println("*************************************"); System.out.println("请选择购买的商品编号:"); for(inti=0,p=0;i<goodsName.length&&goodsName[i]!=null;i++){ p++; System.out.println(p+":"+goodsName[i]+"\t"); } System.out.println("*************************************\n"); /*进行购入结算系统*/ Scannerinput=newScanner(System.in); System.out.print("\t请输入会员号:");curCustNo=input.nextInt();doublediscount=getDiscount(curCustNo,custNo,custScore);do{System.out.print("\t请输入商品编号:");//数组下标+1即产品编号goodsNo=input.nextInt();System.out.print("\t请输入数目:");count=input.nextInt();//查询单价price=goodsPrice[goodsNo-1];name=goodsName[goodsNo-1];total=total+price*count;//连接购物清单goodsList=goodsList+"\n"+name+"\t"+"¥"+price+"\t\t"+count+"\t\t"+"¥"+(price*count)+"\t";System.out.print("\t是否继续(y/n)");choice=input.next();}while(choice.equals("y"));//计算消费总金额 finalPay=total*discount; //打印消费清单System.out.println("\n");System.out.println("*****************消费清单*********************"); System.out.println("物品\t\t"+"单价\t\t"+"个数\t\t"+"金额\t"); System.out.print(goodsList); System.out.println("\n折扣:\t"+discount); System.out.println("金额总计:\t"+"¥"+finalPay); System.out.print("实际交费:\t¥"); payment=input.nextDouble(); System.out.println("找钱:\t"+"¥"+(payment-finalPay));//计算获得的积分: intscore=(int)finalPay/100*3; //更改会员积分 for(inti=0;i<custNo.length;i++){ if(custNo[i]==curCustNo){ custScore[i]=custScore[i]+score; System.out.println("本次购物所获的积分是:"+score); break; } }//返回上一级菜单 System.out.print("\n请'n'返回上一级菜单:");if(input.next().equals("n")){ Menumenu=newMenu(); menu.setData(goodsName,goodsPrice,custNo,custBirth,custScore); menu.showMainMenu();} }}四:连接程序类:connectpackagecom.wxws.sms.management;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.Scanner;publicclasscommnet{ publicvoidlianjie() { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundExceptionce)//异常处理 { System.out.println("数据库连接错误"+ce.getMessage()); }} }五:登陆程序类VerifyEqualpackagecom.wxws.sms.management;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.*;publicclassVerifyEqual{/**验证管理员的用户名和密码是否相等*/ publicbooleanverify(Stringusername,Stringpassword){ System.out.print("请输入用户名:"); Scanne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论