KFC
KFC点餐
1.题目要求
1.正常餐品结算和找零。
2.基本套餐结算和找零。
3.使用优惠劵购买餐品结算和找零。
4.可在一定时间段参与店内活动(自行设计或参考官网信息)。
5.模拟打印小票的功能(写到文件中)。
6.html.jsp实现可视化界面。
7.实现会员储值卡功能,完成储值卡消费。
8.实现当天营业额和餐品销量计算和统计,用数据库记录。
9.Echars实现数据可视化
二.源代码
package kfc;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Mainwindow {
public static void main(String []args){
System.out.println("请选择点餐方式:");
System.out.println("1.单点 2.套餐");
Scanner scanner = new Scanner(System.in);
int order_way=scanner.nextInt();
if (order_way==1){
menu();
}
else if(order_way==2){
combomenu();
}
else System.out.println("input error");
System.out.println("请输入点餐序号并用,隔开");
String order=scanner.next();
String[] split = order.split(",");
System.out.println("您有两张优惠券可以使用");
coupons();
float price = total_price(split, order_way);
System.out.println( "找零:"+pay(price)); } //付钱
public static float pay(float price){
System.out.println("付:");
canner scanner = new Scanner(System.in);
String i = scanner.next();
Float aFloat = new Float(i);
float change =aFloat-price;
if (change>=0){
return change;
}
else{
System.out.println("您还需支付:"+(-change));
float pay = pay(-change);
return pay;
}
} //将数据写到文件
public static void setlist(String list){
try {
FileOutputStream out =new FileOutputStream("list.txt");
byte[] b=list.getBytes();
for (int i=0;i<b.length;i++){
out.write(b[i]);
}
out.close();
}
catch (Exception e)
{
e.printStackTrace();
}
} //计算应付金额
public static float total_price(String[] split,int index){
float totalprice=0;
StringBuffer l=new StringBuffer(" ");
if (index==1){
for (int i=0;i<split.length;i++){
totalprice+= Menu.getbynumber(split[i]).getPrice();
l.append(Menu.getbynumber(split[i]).getName()+" "+"price:" +Menu.getbynumber(split[i]).getPrice()+" ");
}
}
else {
for (int i=0;i<split.length;i++)
{
totalprice+= ComboMenu.getbynumber(split[i]).getPrice();
l.append(ComboMenu.getbynumber(split[i]).getName()+"price"
+ComboMenu.getbynumber(split[i]).getPrice()+" ");
}
}
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
if (i==1) {
totalprice -= Coupons.coupons1.getCoupons();
System.out.println("您需支付:" + totalprice + "元");
}
else if (i==2){
if (totalprice>=30){totalprice-=Coupons.coupons2.getCoupons
();
}
else System.out.println("购买不足30元");
System.out.println("您需支付:"+totalprice+"元");
}
else System.out.println("您需支付:"+totalprice+"元");
SimpleDateFormat df= new SimpleDateFormat("yyyy-mm-dd");
setlist(l.toString()+" "+"totalprice:"+totalprice+" "+"time:"+df.format
(new Date()) );
return totalprice;
} //单点菜单
public static void menu(){
System.out.println(Menu.HANBAO.getNumber()+"."+ Menu.HANBAO.getName()+"
"+"price:"+Menu.HANBAO.getPrice());
System.out.println(Menu.COLO.getNumber()+"."+Menu.COLO.getName()+"
"+"price:"+Menu.COLO.getPrice());
System.out.println(Menu.PISA.getNumber()+"."+Menu.PISA.getName()+"
"+"price:"+Menu.PISA.getPrice());
System.out.println(Menu.CHIPS.getNumber()+"."+Menu.CHIPS.getName()+"
"+"price:"+Menu.CHIPS.getPrice());
} //套餐菜单
public static void combomenu(){
System.out.println(ComboMenu.COMBO1.getNumber()
+"."+ComboMenu.COMBO1.getName()+"
"+"price:"+ComboMenu.COMBO1.getPrice());
System.out.println(ComboMenu.COMMBO2.getNumber()
+"."+ComboMenu.COMMBO2.getName()+"
"+"price:"+ComboMenu.COMMBO2.getPrice());
} //优惠
public static void coupons(){
System.out.println(Coupons.coupons1.getNumber()+"."+Coupons.coupons1.getName()+" "+"coupons:"+Coupons.coupons1.getCoupons());
System.out.println(Coupons.coupons2.getNumber()+"."+Coupons.coupons2.getName()+" "+"coupons:"+Coupons.coupons2.getCoupons());
}
}//优惠枚举
enum Coupons{ coupons1("1","无门槛下单立减2元",2),coupons2("2","满30减5",5); private String number;
private String name; private int coupons;
public String getNumber() { return number; }
public String getName() { return name; }
public int getCoupons() { return coupons; }
Coupons(String number, String name, int coupons) {
this.number = number;
this.name = name;
this.coupons = coupons; }
public static Coupons getbynumber(String number){
Coupons[] couponss=Coupons.values();
for(Coupons coupons:couponss){
if (coupons.getNumber().equals(number))
return coupons;
}
return null;
}
}//套餐枚举
enum ComboMenu{
COMBO1("1","hanbao+colo",17),
COMMBO2("2","hanbao+colo+chips",25);
private String number;
private String name;
private float price;
ComboMenu(String number, String name, float price) {
this.number = number;
this.name = name;
this.price = price;
}
public String getNumber() {
return number;
}
public String getName() {
return name;
}
public float getPrice() {
return price;
}
public static ComboMenu getbynumber(String number){
ComboMenu[] combomenus=ComboMenu.values();
for(ComboMenu combomenu:combomenus){
if (combomenu.getNumber().equals(number))
return combomenu;
}
return null;
}
}//单点菜单枚举
enum Menu{
HANBAO("1","hanbao",15) , COLO("2","colo",5),PISA("3","pisa",30),CHIPS("4","chips",10);
private String number;
private String name;
private float price;
Menu(String number, String name, float price) {
this.number = number;
this.name = name;
this.price = price;
}
public String getNumber() {
return number;
}
public String getName() {
return name;
}
public float getPrice() {
return price;
}
public static Menu getbynumber(String number){
Menu[] menus=Menu.values();
for(Menu menu:menus){
if (menu.getNumber().equals(number))
return menu; }
return null;
}
}