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;  
                } 
       }

三.结果展示

KFC
KFC