java实现KFC点餐小程序

本文实例为大家分享了java实现KFC点餐系统的具体代码,供大家参考,具体内容如下

package KFC点餐系统;
//food 类
public class Kfcfood {

 private String fname ;
 private int fnumb=1;
 private float fPrice;

 public Kfcfood() {
 super();
 }

 public Kfcfood(String fname, int fnumb, float fPrice) {
 super();
 this.fname = fname;
 this.fnumb = fnumb;
 this.fPrice = fPrice;
 }

 public String getFname() {
 return fname;
 }
 public void setFname(String fname) {
 this.fname = fname;
 }
 public int getFnumb() {
 return fnumb;
 }
 public void setFnumb(int fnumb) {
 this.fnumb = fnumb;
 }
 public float getfPrice() {
 return fPrice*fnumb;
 }
 public void setfPrice(float fPrice) {
 this.fPrice = fPrice;
 }
 @Override
 public String toString() {
 return fname + " 价格 [" + fPrice + "]";
 }

}
package KFC点餐系统;
/*
 * 1.正常餐品结算和找零。
2.基本套餐结算和找零。
3.使用优惠劵购买餐品结算和找零。
4.可在一定时间段参与店内活动(自行设计或参考官网信息)。
5.模拟打印小票的功能(写到文件中)。
 * */
/*@author:kxd
 * @Date:2018.10.25
 *
 * 本人写这个小程序,第一创建Kfcfood类属性有foodname foodPrice foodnumb 和一些必要函数 这个类负责封装食物属性
 * Demo1 是主程序 核心 是HashMap 集合,HashMap<Kfcfood , String > 做购物车 添加食物 和遍历打印小票
 * 用字符输出流 很简洁的写法写入文本
 * BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("out.txt",true)));//字符缓冲输出流
 *
 * */

import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Date;
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;

public class Demo1 {

 public static void main(String[] args) throws IOException {
 Kfcfood k1=new Kfcfood("全家桶",1,(float)(79.9));
 Kfcfood k2=new Kfcfood("奥尔良鸡腿堡",1,(float)(19.9));
 Kfcfood k3=new Kfcfood("热辣鸡腿堡",1,(float)(18.9));
 Kfcfood k4=new Kfcfood("帕尼尼早餐套餐",1,(float)(29.9));
 Kfcfood k5=new Kfcfood("可乐",1,(float)(9.9));
 Kfcfood k6=new Kfcfood("鸡米花",1,(float)(9.9));
 Kfcfood k7=new Kfcfood("薯条",1,(float)(8.8));
 Kfcfood k8=new Kfcfood("热辣鸡翅",1,(float)(11.9));
 Kfcfood k9=new Kfcfood("冰淇淋",1,(float)(9.9));

 HashMap<Kfcfood , String > hm= new HashMap<Kfcfood , String >();

 System.out.println("**********************************");
 System.out.println("*********欢迎光临肯德基餐厅*************");
 System.out.println("  菜单   ");
 System.out.println("1:"+k1.toString());
 System.out.println("2:"+k2.toString());
 System.out.println("3:"+k3.toString());
 System.out.println("4:"+k4.toString());
 System.out.println("5:"+k5.toString());
 System.out.println("6:"+k6.toString());
 System.out.println("7:"+k7.toString());
 System.out.println("8:"+k8.toString());
 System.out.println("9:"+k9.toString());
 boolean z=true ; int count=1;//计数器
 float total=0;
 while(z) {
 System.out.println("请点餐 :输入编号");
 Scanner sc = new Scanner (System.in );
 int i = sc.nextInt();
 switch (i) {

 case 1:
 System.out.println(count+k1.getFname());
 System.out.println("请输入数量:");
 Scanner sc1= new Scanner (System.in );
 int n = sc1.nextInt();
 k1.setFnumb(n);//输入数量
 total=total+k1.getfPrice();//计算入总价

 hm.put(k1,"数量:"+String.valueOf( k1.getFnumb()) );//添加进树
 break;
 case 2:
 System.out.println(count+k2.getFname());
 System.out.println("请输入数量:");
 Scanner sc2= new Scanner (System.in );
 int n2 = sc2.nextInt();
 k2.setFnumb(n2);

 total=total+k2.getfPrice();//计算入总价
 hm.put(k2,"数量:"+String.valueOf( k2.getFnumb()) );//添加进树
 break;
 case 3:
 System.out.println(count+k3.getFname());
 System.out.println("请输入数量:");
 Scanner sc3= new Scanner (System.in );
 int n3 = sc3.nextInt();
 k3.setFnumb(n3);

 total=total+k3.getfPrice();//计算入总价
 hm.put(k3,"数量:"+String.valueOf( k3.getFnumb()) );//添加进树
 break;
 case 4:
 System.out.println(count+k4.getFname());
 System.out.println("请输入数量:");
 Scanner sc4= new Scanner (System.in );
 int n4 = sc4.nextInt();
 k4.setFnumb(n4);

 total=total+k4.getfPrice();//计算入总价
 hm.put(k4,"数量:"+String.valueOf( k4.getFnumb()) );//添加进树
 break;
 case 5:
 System.out.println(count+k5.getFname());
 System.out.println("请输入数量:");
 Scanner sc5= new Scanner (System.in );
 int n5 = sc5.nextInt();
 k5.setFnumb(n5);

 total=total+k5.getfPrice();//计算入总价
 hm.put(k5,"数量:"+String.valueOf( k5.getFnumb()) );//添加进树
 break;
 case 6:
 System.out.println(count+k6.getFname());
 System.out.println("请输入数量:");
 Scanner sc6= new Scanner (System.in );
 int n6 = sc6.nextInt();
 k6.setFnumb(n6);

 total=total+k6.getfPrice();//计算入总价
 hm.put(k6,"数量:"+String.valueOf( k6.getFnumb()) );//添加进树
 break;
 case 7:
 System.out.println(count+k7.getFname());
 System.out.println("请输入数量:");
 Scanner sc7= new Scanner (System.in );
 int n7 = sc7.nextInt();
 k7.setFnumb(n7);

 total=total+k7.getfPrice();//计算入总价
 hm.put(k7,"数量:"+String.valueOf( k7.getFnumb()) );//添加进树
 break;
 case 8:
 System.out.println(count+k8.getFname());
 System.out.println("请输入数量:");
 Scanner sc8= new Scanner (System.in );
 int n8 = sc8.nextInt();
 k8.setFnumb(n8);

 total=total+k8.getfPrice();//计算入总价
 hm.put(k8,"数量:"+String.valueOf( k8.getFnumb()) );//添加进树
 break;
 case 9:
 System.out.println(count+k9.getFname());
 System.out.println("请输入数量:");
 Scanner sc9= new Scanner (System.in );
 int n9 = sc9.nextInt();
 k9.setFnumb(n9);

 total=total+k9.getfPrice();//计算入总价
 hm.put(k9,"数量:"+String.valueOf( k9.getFnumb()) );//添加进树
 break;

 default:System.out.println("请输入正确的号码!");
 break;

 }
 //遍历树

 Set<Kfcfood> ks1 = hm.keySet();//遍历Map
 for(Kfcfood s2:ks1) {
 System.out.println("("+s2+","+hm.get(s2)+")");
 }

 System.out.println("1 继续点餐 2 重新点餐 3 结束点餐 ");
 Scanner sca= new Scanner (System.in );
 int n = sca.nextInt();
 switch(n) {
 case 1:
 count++;
 break ;
 case 2 :
 System.out.println("重新点餐!");

 hm.clear();

 break;

 case 3 :
 System.out.println("总价"+total);
 System.out.println("结束点餐");
 z=false;
 break;
 default:System.out.println("请输入正确的号码!");
 break;
 }

}
 System.out.println("****************************************");
 System.out.println("*********欢迎光临肯德基餐厅*************");
 System.out.println("  您的菜单为!   ");

 //遍历树

 Set<Kfcfood> ks1 = hm.keySet();//遍历Map
 for(Kfcfood s2:ks1) {
 System.out.println(" "+s2+", "+hm.get(s2)+" ");
 }
 System.out.println("总价"+total);
 System.out.println("订单时间: "+new Date());
 System.err.println("  欢迎下次光临!");
 System.out.println("**********************************");

 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("out.txt")));//字符缓冲输出流
 bw.write("****************************************");bw.newLine();
 bw.write("*********欢迎光临肯德基餐!*************");bw.newLine();
 bw.write("  您的菜单为!   ");bw.newLine();
 Set<Kfcfood> ks2 = hm.keySet();//遍历Map
 for(Kfcfood s2:ks2) {
 // System.out.println(" "+s2+", "+hm.get(s2)+" ");
 bw.write(s2+", "+hm.get(s2));bw.newLine();
 }
 //System.out.println("总价"+total);

 bw.write("订单时间: "+new Date());bw.newLine();
 bw.write("  欢迎下次光临!");bw.newLine();
 bw.write("**********************************");bw.newLine();
 bw.flush();
 bw.close();
 }

}

运行结果:

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java使用抽象工厂模式实现的肯德基消费案例详解

    本文实例讲述了Java使用抽象工厂模式实现的肯德基消费案例.分享给大家供大家参考,具体如下: 一.模式定义 抽象工厂模式提供了一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体实现类. 抽象工厂模式允许客户使用抽象接口来创建一组相关的产品,客户类和工厂类分开,客户需要任何产品的时候,只需要向工厂请求即可,客户无须修改就可以获得新产品. 二.模式举例 1 模式分析 我们借用爸爸和儿子到肯德基店消费这一场景来说明这一模式,进行抽象分析后的截图如下 2 抽象工厂模式的静态建模 3 代码示例 3

  • python+pyqt5实现KFC点餐收银系统

    本文实例为大家分享了python实现KFC点餐收银系统的具体代码,供大家参考,具体内容如下 这个kfc收银系统我实现了的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动 5.模拟打印小票的功能(写到文件中). 工程文件: 肯德基.py文件实现各功能.kfctip.txt文件用于打印小票.picture文件里存放界面所需的图片.其他四个文件为各界面布局. 主界面: 正常餐品点餐界面: 套餐点餐界面: 活动套餐点餐界面

  • java实现KFC点餐系统

    同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能(写到文件中). 类图: 建立IFood接口实现各类食物信息的打印: public interface IFood { /** * 打印输出食物

  • python3实现点餐系统

    本文实例为大家分享了python3实现点餐系统的具体代码,供大家参考,具体内容如下 题目: 某餐厅外卖每天更新菜品,但是搭配价格是不变的,具体如下: "今天菜单如下","1  宫保鸡丁","2  青椒鸡米粒" ,"3  白萝卜焖肉", "4  蒜薹腊肉", "5  豆腐包肉 ", "6  鲤鱼跃龙门", "7  凉拌莲藕", "8  红烧

  • java实现微信点餐申请微信退款

    应用场景: 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家账号上. 注意事项: 1.交易时间超过一年的订单无法提交退款 2.微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单好和设置不同的退款单号.申请退款总金额不能超过订单金额.一笔退款失败后重新提交,请不要更换退款单号,请使用原商户退款单号. 3.请求频率限制,150qps,即每秒钟正常的申请退

  • Java点餐小程序之黑心商人

    很久以前,有一个女人,开了一家酒店,她的名字叫孙二娘.下面是她找人做的点餐小程序.代码如下: import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.ArrayList; import java.util.Scanner; import java.util.Set; public class MyDianCai { sta

  • java实现KFC点餐小程序

    本文实例为大家分享了java实现KFC点餐系统的具体代码,供大家参考,具体内容如下 package KFC点餐系统; //food 类 public class Kfcfood { private String fname ; private int fnumb=1; private float fPrice; public Kfcfood() { super(); } public Kfcfood(String fname, int fnumb, float fPrice) { super()

  • Java实现KFC点餐系统过程解析

    这篇文章主要为大家详细介绍了java实现KFC点餐系统,模拟肯德基快餐店的收银系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能(写到文件

  • 使用原生JS实现火锅点餐小程序(面向对象思想)

    本次小程序采用ES6开发标准,不会的宝宝们请先学习,再来观看吧! 使用条件:使用ES6标准开发:因为采用了Bootstrap在线,所以需要联网:VSCode开发工具,在本地服务器中打开. 代码展示: Demo.html(网页),Demo.css(样式),Test01.js(菜单类),Test02.js(循环菜单),Test03.js(增,删操作) 下面进行一一展示: Demo.html(网页): <!DOCTYPE html> <html lang="en">

  • java实现扑克牌牌面小程序

    本文实例为大家分享了java实现扑克牌牌面小程序的具体代码,供大家参考,具体内容如下 本周分享一个扑克牌牌面小程序如下: package com.softeem.lmg.one2.work1; import java.util.Objects; /**首先是牌面类 * 5.参考斗地主的游戏规则,完成一个发牌的功能(54张牌,考虑点数,花色:三名玩家,其中地主比其他玩家多3张牌) * @author admin */ public class Card { /**牌面值*/ private Str

  • 基于Java SSM的健康管理小程序的实现

    目录 一.系统的简介 二.系统实现的主要功能 三.系统的界面演示 四.核心代码展示 一.系统的简介 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器:谷歌浏览器 二.系统实现的主要功能 (1)用户管理.主要实现了健康管理小程序的用户管理功能. (2)登录注册.小程序端可以登录注册. (

  • Java后端对接微信支付(小程序、APP、PC端扫码)包含查单退款

    首先我们要明确目标,我们点击微信支付官网,我们主要聚焦于这三种支付方式,其中JSPAI与APP主要与uniapp开发微信小程序与APP对接,而NATIVE主要与网页端扫码支付对接 1.三种支付统一准备工作 建议导入这个jar,里面一些提供map和xml互转以及生成签名的函数,使用非常方便. <dependency> <groupId>com.github.wxpay</groupId> <artifactId>wxpay-sdk</artifactId

  • SpringBoot带你实现一个点餐小程序

    目录 一,功能介绍 二,开发语言介绍 三,系统的界面介绍 四,核心代码演示 一,功能介绍 本点单系统主要是基于SpringBoot框架和小程序开发的,主要是为当代人们的生活提供更便利.更高效的服务,也为营销者提供更好的系统进行用户.商品.订单等信息管理. 该系统所实现的主要功能模块如下: 前台: 1)注册登录 2)个人中心 ① 修改个人信息 ② 修改收货地址 ③ 积分 3)商品浏览 4)商品搜索 5)购物车 6)下单支付后台: 1)注册登录 2)个人中心 ① 修改个人信息 ② 修改密码 3)用户

  • 微信小程序实现点餐小程序左侧滑动菜单

    目录 前言 一.初识scroll-view 二.左侧导航 三.右侧滑动 前言 最近在帮亲戚做一款微信的点餐小程序,以前从没有接触过小程序的我只能现做现卖.一边看文档一边实践尝试,在进行到点菜模块左侧滑动菜单时遇到了小小的阻碍.索性在查找一些资料和教程后主要功能实现了出来.特此记录下,也希望能帮助到需要做同样功能的同学. 效果图: 一.初识scroll-view 想要实现上述功能我们必须要借助微信为我们提供的scroll-view组件,没有了解过的同学需要先去简单阅读下API.从图中我们可以看出整

  • java控制台实现可视化日历小程序

    本文实例为大家分享了java可视化日历小程序的具体代码,供大家参考,具体内容如下 废话不多说,直接上代码 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; /** * 可视化日历程序

随机推荐