java 案例 自动售货机

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

packageLevelSecond;publicclassConstruct{publicvoiddrinksType()//添加说明为了使用方便单独定义{System.out.println(1.可乐(120日元));System.out.println(2.橙汁(80日元));System.out.println(3.绿茶(150日元));}publicvoidmoneyType()//添加说明为了使用方便单独定义{System.out.println(1:10日元);System.out.println(2:50日元);System.out.println(3:100日元);System.out.println(4:500日元);System.out.println(5:1000日元);}}packageLevelSecond;importjava.util.Scanner;publicclassAutoSaleMachine{publicstaticvoidmain(String[]args){try{Constructcons=newConstruct();//调用Construct对象cons.drinksType();System.out.println(请选择饮品:);Scannerin=newScanner(System.in);//系统输入所选择的饮品号码intId=in.nextInt();Productp=newProduct();//调用Product中的Pro方法得出用户所选的饮品p.Pro(Id);}catch(Exceptione){System.out.println(输入无效);//控制用户选择饮品e.printStackTrace();}}}packageLevelSecond;publicclassProduct{publicvoidPro(intId){Constructcons=newConstruct();Calculatecal=newCalculate();switch(Id){case1:System.out.println(您选择的是可乐,请按一下规定现金付款。);//投入金额的面值的提示cons.moneyType();//告知用户选用的饮品cal.Cal(120);//调用Calculate的计算方法Calbreak;case2:System.out.println(您选择的是橙汁,请按一下规定现金付款。);cons.moneyType();cal.Cal(80);break;case3:System.out.println(您选择的是绿茶,请按一下规定现金付款。);cons.moneyType();cal.Cal(80);break;default:System.out.println(错误);break;}}}packageLevelSecond;importjava.util.Scanner;publicclassCalculate{intbackPay;//定义找零inttotalPay;//定义总金额publicvoidCal(intPrice){Scannerin=newScanner(System.in);System.out.println(请投币...);//投入硬币totalPay=in.nextInt();BaseCalculatebc=newBaseCalculate();//调用BaseCalculate的计算方法if(totalPay==Price){bc.Equal();//调用BaseCalculate中的Equal方法}elseif(totalPayPrice){bc.More(Price,backPay,totalPay);//调用BaseCalculate中的More方法}else{for(inti=0;totalPayPrice;i++)//当投入金额小于饮品价格时,提示继续投币{Scannerinput=newScanner(System.in);System.out.println(请继续投币...);inteveryPay=input.nextInt();totalPay+=everyPay;}if(totalPay==Price)//当再次投币出现投币金额=价格时,调用BaseCalculate中的Equal方法{bc.Equal();}else{bc.More(Price,backPay,totalPay);//当再次投币出现投币金额价格时,调用BaseCalculate中的More方法}}}}packageLevelSecond;publicclassBaseCalculate{publicvoidEqual()//当投入硬币和价格相同时{System.out.println(找零为0元);System.out.println(500日元:+0+枚);System.out.println(100日元:+0+枚);System.out.println(50日元:+0+枚);System.out.println(10日元:+0+枚);}publicvoidMore(intPrice,intbackPay,inttotalPay)//当投入硬币总数大于价格总数时{backPay=totalPay-Price;//找零金额=总金额-饮品价格intfiveHp=backPay/500;//求出找零中的500日元有几张intfiveHRemain=backPay-fiveHp*500;intoneHp=fiveHRemain/100;//求出找零中的100日元有几张intoneHRemain=fiveHRemain-oneHp*100;intfiftyp=oneHRemain/50;//求出找零中的50日元有几张intfiftyRemain=oneHRemain-fiftyp*50;inttenp=fiftyRemain/10;//求出找零中的10日元有几张System.out.println(找零为:+backPay+分别为:);System.out.println(500日元:+fiveHp+枚);System.out.println(100日元:+oneHp+枚);System.out.println(50日元:+fiftyp+枚);System.out.println(10日元:+tenp+枚);}}

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功