【Java】咖啡店销售示例

本文展示了如何使用Java创建一个CoffeeShop类,包含咖啡订单处理、价格计算和基本销售统计功能。通过实例化Coffee类和CoffeeShop类,模拟销售过程并显示统计信息。
摘要由CSDN通过智能技术生成

这个示例将展示如何创建一个咖啡店类(CoffeeShop),它能够处理咖啡的订单、计算价格、并提供一些简单的销售统计。

import java.util.ArrayList;
import java.util.List;

class Coffee {
    private String name;
    private double price;

    public Coffee(String name, double price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public double getPrice() {
        return price;
    }
}

class CoffeeShop {
    private List<Coffee> coffees;
    private double totalSales;

    public CoffeeShop() {
        coffees = new ArrayList<>();
        totalSales = 0.0;
    }

    public void addCoffee(Coffee coffee) {
        coffees.add(coffee);
    }

    public void sellCoffee(Coffee coffee, int quantity) {
        double totalCost = coffee.getPrice() * quantity;
        totalSales += totalCost;
        System.out.println("Sold " + quantity + " cups of " + coffee.getName() + " for a total of " + totalCost);
    }

    public double getTotalSales() {
        return totalSales;
    }

    public void displaySalesStatistics() {
        System.out.println("Total sales: " + totalSales);
        System.out.println("Available coffees:");
        for (Coffee coffee : coffees) {
            System.out.println(coffee.getName() + " - " + coffee.getPrice() + " per cup");
        }
    }
}

public class CoffeeSalesApp {
    public static void main(String[] args) {
        // 初始化咖啡店
        CoffeeShop shop = new CoffeeShop();

        // 添加咖啡到咖啡店
        shop.addCoffee(new Coffee("Espresso", 2.50));
        shop.addCoffee(new Coffee("Cappuccino", 3.25));
        shop.addCoffee(new Coffee("Latte", 3.00));

        // 模拟销售
        shop.sellCoffee(shop.getCoffees().get(0), 5); // 销售5杯Espresso
        shop.sellCoffee(shop.getCoffees().get(1), 3); // 销售3杯Cappuccino

        // 显示销售统计
        shop.displaySalesStatistics();
    }
}

在这个示例中,我们定义了两个类:Coffee 和 CoffeeShopCoffee 类代表了一种咖啡及其价格,而 CoffeeShop 类则代表了咖啡店,其中包含了咖啡的列表、总销售额和销售统计功能。

在 main 方法中,我们创建了一个 CoffeeShop 对象,并向其添加了几种咖啡。然后,我们模拟了销售过程,通过 sellCoffee 方法销售了不同数量的咖啡,并更新了总销售额。最后,我们通过调用 displaySalesStatistics 方法来显示当前的销售统计信息。

请注意,这个示例仅用于教学目的,并没有包含真实咖啡店可能需要的所有功能和复杂性,比如库存管理、员工管理、订单跟踪等。在实际应用中,可能需要根据具体需求来扩展和修改这个代码。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB“ 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx 8张图解java.docx Addison.Wesley.Java.Concurrency.in.Practice.May.2006.chm Agile Java 测试驱动开发的编程技术.pdf Java 8 默认方法和多继承.docx Java NIO通信框架在电信领域的实践.docx java.png javaconcurrencyinpractice.pdf JavaEE学习笔记.pdf java_Java_学习笔记.pdf Java_Performance.pdf java代码效率优化.docx Java内存模型的历史变迁.docx Java在游戏服务器开发中的应用.docx java基础总结大全.txt Java开发与技术挑战——关于技术的技术思考.docx Java框架研发思考.docx Java程序员们最常犯的10个错误.docx java程序员的就业指导(重点).docx Java程序员面试宝典 .pdf java笔试题大集合及答案 Java经典项目集锦.rar JAVA编程题全集(100题及答案).doc java面试书籍源码 Java面试文档题库 Java面试笔试题库.CHM Java面试问题集.pdf Java面试题以及答案(小生).pdf java面试题(题库全).doc JS 数据库答案.doc Land.the.Tech.Job.You.Love-人人都有好工作—IT行业求职面试必读.pdf Linux命令大全完整版.doc sql查询语句练习.doc Web服务器的工作原理.docx 依赖注入与JSR-330的参考实现——Guice.docx 关于Java框架Vert.x的几点思考.docx 关于堆和栈的那些事.docx 写好Java代码的30条经验总结.docx 华为java笔试面试题2014.doc 多态的理解.docx 大公司最喜欢问的Java集合类面试题.docx 大公司的Java面试题集.doc 就业相关java 广州传智播客JavaEE工程师测试题.doc 广州传智播客JavaEE工程师测试题(带答案的).doc 应聘时最漂亮的回答.docx 当面试官问「你有什么要问我的吗」时,应该问什么?.docx 提高 Java 代码性能的各种技巧.docx 搜狗商业平台Java技术实践.docx 最新JAVA编程题全集(50题及答案).doc 百度历年笔试面试150题.docx 笔试1.doc 答案1.doc 细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅.docx 给你一次机会面试架构师 你会问什么问题?.docx 超全面:程序员跳槽神级攻略.docx 跳还是不跳,是一个问题——跳槽时该如何权衡?.docx 进入IT企业必读的324个JAVA面试题.pdf 阿里2015实习生-客户端笔试题目解析.docx 面试帮-IT面试宝典.apk 面试题 面试题库 高吞吐低延迟Java应用的垃圾回收优化.docx 黑马程序员入学Java精华总结.pdf
很抱歉,作为AI语言模型,我无法生成完整的Java代码。但是,我可以提供一个简单的Java点餐系统的伪代码,以供参考: ``` // 定义菜单项类 class MenuItem { String name; double price; public MenuItem(String name, double price) { this.name = name; this.price = price; } // getter 和 setter 方法 } // 定义订单类 class Order { List<MenuItem> items; double totalPrice; public Order() { items = new ArrayList<>(); totalPrice = 0.0; } // 添加菜单项 public void addItem(MenuItem item) { items.add(item); totalPrice += item.price; } // 删除菜单项 public void removeItem(MenuItem item) { items.remove(item); totalPrice -= item.price; } // getter 和 setter 方法 } // 定义咖啡店类 class CoffeeShop { Map<String, MenuItem> menu; public CoffeeShop() { menu = new HashMap<>(); // 初始化菜单项 menu.put("Espresso", new MenuItem("Espresso", 2.0)); menu.put("Cappuccino", new MenuItem("Cappuccino", 3.0)); menu.put("Latte", new MenuItem("Latte", 4.0)); menu.put("Mocha", new MenuItem("Mocha", 5.0)); } // 展示菜单 public void showMenu() { System.out.println("Menu:"); for (String name : menu.keySet()) { System.out.println(name + " - $" + menu.get(name).price); } } // 创建订单 public Order createOrder() { Order order = new Order(); Scanner scanner = new Scanner(System.in); String input; while (true) { System.out.print("Enter menu item name (enter 'done' to finish): "); input = scanner.nextLine(); if (input.equals("done")) { break; } MenuItem item = menu.get(input); if (item != null) { order.addItem(item); } else { System.out.println("Invalid menu item."); } } return order; } } // 测试程序 public class Main { public static void main(String[] args) { CoffeeShop shop = new CoffeeShop(); shop.showMenu(); Order order = shop.createOrder(); System.out.println("Your order:"); for (MenuItem item : order.items) { System.out.println(item.name + " - $" + item.price); } System.out.println("Total price: $" + order.totalPrice); } } ``` 这个伪代码实现了一个简单的咖啡店点餐系统,用户可以通过菜单选择需要点的饮品,程序会根据用户的选择生成订单,并计算总价。这个伪代码只是一个简单的示例,实际的点餐系统可能需要更复杂的功能,比如考虑库存、优惠券等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值