packagesupermarket.system;importjava.util.ArrayList;importjava.util.Scanner;/**水果超市**1.完成主流程外的相关方法*2.在成员位置定义一个存储所有水果项的集合*3.定义一个初始化集合数据的方法init参数无返回值无在main方法中调用init*4.完成整体的流程*提示用户请输入要进行的操作*接收用户输入的选择*使用switch进行判断*整体是一个死循环*5.依次完成每个方法*查看水果列表方法方法名showFruitList需要的数据无回馈的数据无*购买方法方法名buy需要的数据无回馈的数据无*打印小票方法名printReceipt需要的数据无回馈的数据无*打折方法方法名doDiscount需要的数据doubletotalMoney回馈的数据doublenewTotalMoney*重置数据方法方法名resetNumber需要的数据无回馈的数据无*完成流水查询*记录流水*在成员位置定义一个流水集合用来存储所有流水数据*在结账后将每次金额加入到流水集合中*展示流水*定义展示流水方法方法名showFlow需要的数据无回馈的数据无*总收入查询*方法名dailyincome需要的数据无回馈的数据无*添加水果项addFruitItem需要的数据无回馈的数据无*删除水果项delFruitItem需要的数据无回馈的数据无*修改水果项updateFruitItem需要的数据无回馈的数据无**/publicclassFruitStore{//定义一个水果集合用来存储所有水果看到集合就看到了所有的水果staticArrayListFruitItemfruitList=newArrayListFruitItem();//定义一个流水集合用来存储所有流水的数据staticArrayListDoubleflowList=newArrayListDouble();publicstaticvoidmain(String[]args){init();//showFruitList();while(true){//提示用户进行的操作System.out.println(欢迎欢迎!!热烈欢迎!!!);System.out.println(请输入购物操作);System.out.println(1.购物2.结账3流水查询4总收入查询);System.out.println(5.查询货物6.添加货物7.删除货物8.修改货物);System.out.println(9.放弃操作);//接收用户输入的选择intchoose=enterNumber();//使用switch惊醒判断switch(choose){case1:buy();break;case2:printReceipt();resetNumber();break;case3:showFlow();break;case4:dailyincome();break;case5://调用查看水果列表的方法showFruitList();break;case6://调用添加货物的方法addFruitItem();break;case7:delFruitItem();break;case8:updateFruitItem();break;case9:System.out.println(爱买不买!!!下次带钱来);resetNumber();break;default:break;}}}publicstaticvoidupdateFruitItem(){//提示用户输入要修改的水果的变厚啊System.out.println(请输入您要修改的水果的编号:);//接收用户输入的idintid=enterNumber();//遍历水果集合判断用户输入的水果编号是否存在在集合内//遍历水果集合for(inti=0;ifruitList.size();i++){FruitItemthisItem=fruitList.get(i);if(thisItem.id==id){//提示用户要修改的信息System.out.println(请输入修改的姓名:);thisItem.name=enterString();System.out.println(请输如要修改的单价:);thisItem.price=enterDouble();System.out.println(请输入修改后的单位:);thisItem.unit=enterString();System.out.println(修改成功!!);return;}}System.out.println(该商品不存在!!!!!);}/**删除水果方法**提示用户输入要删除的水果编号*接收用户输入的水果编号*判断用户输入的编号遍历集合获取每个水果项使用每个水果的编号和用户输入的编号进行比较*如果相等删除当前水果项结束方法*如果不等提示输入的编号不存在删除失败**/publicstaticvoiddelFruitItem(){//提示用户输入要删除的水果的编号System.out.println(请输入要删除的水果的编号:);//接收用户输入的编号intid=enterNumber();//判断编号,遍历集合每一个水果的编号与用户输入的编号是否相等//遍历集合依次获取每个水果项for(inti=0;ifruitList.size();i++){FruitItemthisItem=fruitList.get(i);if(thisItem.id==id){//如果相等删除当前水果项结束方法//调用remove方法根据索引删除当前水果项fruitList.remove(i);System.out.println(删除成功!!!!);return;}}System.out.println(您输入的编号不存在,删除失败!!!);}////添加新水果方法/**提示用户输入要添加的新水果编号*接收用户输入的编号*判断编号,遍历集合判每一个水果的编号与用户输入的编号是否相等*如果相等提示用户编号已存在重新输入结束方法*如果不相等*、创建一个新水果对象*提示用户输入新水果名称单价单位将其封装进新的水果对象中*将水果对象添加到水果集合中*/publicstaticvoidaddFruitItem(){//提示用户输入要添加的新水果的编号System.out.println(请输入要添加的新水果的编号:);//接受游湖输入的编号intid=enterNumber();//判断编号遍历集合每一个水果的编号与用户输入的编号是否相等//遍历集合依次获取每个水果项for(inti=0;ifruitList.size();i++){FruitItemthisItem=fruitList.get(i);//将用户输入的id和每个水果的编号进行比较if(thisItem.id==id){//如果相等提示用户编号已存在重新输入结束方法System.out.println(您输入的水果编号已存在,添加失败!!!);return;}}//如果程序继续执行那么就代表编号存在//创建一个新水果对象FruitItemnewItem=newFruitItem();newItem.id=id;//提示用户输入新水果名称单价单位将其封装到新的水果对象中System.out.println(请输入要添加的新水果的名称);newItem.name=enterString();System.out.println(请输入要添加的新水果的单价);newItem.price=enterDouble();System.out.println(请输入要添加的新水果的单位:);newItem.unit=enterString();//将新水果对象添加到集合中fruitList.add(newItem);System.out.println(添加成功);}//定义总收入查询方法所有流水累加的和publicstaticvoiddailyincome(){//判断集合的长度是否为0if(flowList.size()==0){System.out.println(今天没开张!!);return;}doubletotalMoney=0.0;for(inti=0;iflowList.size();i++){totalMoney+=flowList.get(i);}System.out.println(今天的总收入为:+totalMoney);}//定义展示流水的方法就是遍历流水集合publicstaticvoidshowFlow(){//判断集合的长度是否为零if(flowList.size()==0){System.out.println(今天没有开张!!);}for(inti=0;iflowList.size();i++){System.out.println(第+(i+1)+笔交易:+flowList.get(i));}}//定义重置数据的方法遍历每个水果的集合依次获取每个水果项,将每个水果项的数量和金额置为0publicstaticvoidresetNumber(){for(inti=0;ifruitList.size();i++){FruitItemthisItem=fruitList.get(i);thisItem.number=0;thisItem.money=0.0;}}//打印小票/**票头*死数据打印*票体打印用户购买商品的信息*遍历水果集合依次获取每个水果项*判断每个水果项的数量是否为0*如果不为0打印水果项的属性信息*票脚*定义一个总项数*定义总金额*如果水果项的数量不为0*项数++*总金额+=当前水果项的金额*/privatestaticvoidprintReceipt(){//打印票头System.out.println(这是您这个消费的购物小票;);System.out.println(===================================================);System.out.println(欢迎光临);System.out.println();System.out.println(品名售价数量金额);System.out.println(--------------------------------------------------);//打印票体//定义总项数intlineNumber=0;//定义总金额doubletotalMoney=0.0;//遍历水果集合依次获取每个水果项for(inti=0;ifruitList.size();i++){//依次获取每个水果项FruitItemthisItem=fruitList.get(i);//如果不为0打印水果项的属性信息if(thisItem.number!=0){System.out.println(thisItem.name+(+thisItem.id+)++thisItem.price+*+thisItem.number+(+thisItem.unit+)+=+thisItem.money);lineNumber++;totalMoney+=thisItem.money;}}System.out.println(--------------------);//打印票脚doublenewTotalMoney=doDiscount(totalMoney);System.out.println(lineNumber+项商品);System.out.println(总计:+newTotalMoney);System.out.println(优惠活动让您节省了+(totalMoney-newTotalMoney)+元);System.out.println(===================================