新闻中心

J*a实现超市商品结算台_控制台逻辑判断综合练习

2025-12-02
浏览次数:
返回列表
该案例实现了一个超市商品结算系统,通过Scanner接收用户输入的商品名称、单价和数量,使用while循环持续录入,直到输入“done”结束;程序累计计算总价,并用if判断是否满足满100减10的优惠条件;最终输出商品清单、原价、优惠信息及实付金额。代码还建议扩展功能,如数据校验、会员折扣和封装商品类以提升结构清晰度,帮助巩固J*a基础语法与逻辑处理能力。

java实现超市商品结算台_控制台逻辑判断综合练习

在J*a学习过程中,控制台程序是掌握基础语法和逻辑判断的重要练习方式。下面通过一个“超市商品结算台”的综合案例,帮助你巩固变量、输入输出、条件判断、循环以及简单面向对象思想的应用。

需求分析

模拟一个简单的超市收银系统,功能包括:

  • 用户可输入商品名称、单价、数量
  • 支持连续添加多个商品
  • 输入完成后自动计算总价
  • 根据总金额判断是否享受折扣(如满100减10)
  • 输出结算清单和应付金额

核心逻辑实现

使用Scanner接收用户输入,结合while循环持续录入商品信息,用if判断是否满足优惠条件。

示例代码:

FreeTTS FreeTTS

FreeTTS是一个免费开源的在线文本到语音生成解决方案,可以将文本转换成MP3,

FreeTTS 231 查看详情 FreeTTS
import j*a.util.Scanner;

public class CashierSystem {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        double totalPrice = 0.0;
        String itemList = ""; // 记录商品清单

        System.out.println("=== 欢迎使用超市结算系统 ===");

        while (true) {
            System.out.print("请输入商品名称(输入'done'结束):");
            String name = input.next();

            if ("done".equals(name)) {
                break;
            }

            System.out.print("请输入单价(元):");
            double price = input.nextDouble();

            System.out.print("请输入数量:");
            int quantity = input.nextInt();

            double itemTotal = price * quantity;
            totalPrice += itemTotal;
            itemList += "商品:" + name + " 单价:" + price + 
                       " 数量:" + quantity + " 小计:" + itemTotal + "元\n";
        }

        System.out.println("\n--- 结算清单 ---");
        System.out.println(itemList);

        // 判断是否满足折扣条件
        double finalPrice = totalPrice;
        if (totalPrice >= 100) {
            finalPrice -= 10;
            System.out.println("恭喜!订单满100元,减10元优惠已生效");
        } else {
            System.out.println("未达到优惠条件,继续购物可享更多优惠哦~");
        }

        System.out.println("总计金额:" + String.format("%.2f", totalPrice) + "元");
        System.out.println("实付金额:" + String.format("%.2f", finalPrice) + "元");
        System.out.println("感谢光临,欢迎下次再来!");

        input.close();
    }
}

运行效果示例

程序交互流程如下:

=== 欢迎使用超市结算系统 ===
请输入商品名称(输入'done'结束):苹果
请输入单价(元):8.5
请输入数量:3
请输入商品名称(输入'done'结束):大米
请输入单价(元):50
请输入数量:2
请输入商品名称(输入'done'结束):done
<p>--- 结算清单 ---
商品:苹果 单价:8.5 数量:3 小计:25.5元
商品:大米 单价:50.0 数量:2 小计:100.0元</p><p>恭喜!订单满100元,减10元优惠已生效
总计金额:125.50元
实付金额:115.50元
感谢光临,欢迎下次再来!</p>

扩展建议

可在当前基础上进行功能增强:

  • 加入会员卡号输入,不同等级会员享不同折扣
  • 限制商品数量不能为负数,价格必须大于0,增加数据校验
  • 将商品信息封装成类(Product),提升代码结构清晰度
  • 统计购买商品总件数

基本上就这些,不复杂但容易忽略细节。多练几次,对控制台交互和逻辑处理会更熟练。

以上就是J*a实现超市商品结算台_控制台逻辑判断综合练习的详细内容,更多请关注其它相关文章!


# 多个  # seo电子书txt  # 营销平台推广ppt模板  # 滨江网络推广营销价格  # 场景营销推广方向有哪些  # 浙江邮件推广营销  # 最专业的网站建设  # 短视频营销推广方式的特点有哪些  # 360搜索seo优化泛域名  # 广安移动端网站建设策划  # 商洛seo优化多少钱  # 几次  # 基础上  # java  # 下次  # 是一个  # 再来  # 面向对象  # 判断是否  # 小计  # 请输入  # java实现  # 会员  # ai  # 苹果 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: HuggingFaceEmbeddings中向量嵌入维度调整的限制与理解  C#使用XPath查询节点时出错? 常见语法错误与调试技巧  顺丰快递查单号物流信息 顺丰快递小程序查询入口  拼多多购物车商品数量无法修改如何处理 拼多多购物车操作优化方法  React Router v6 教程:构建认证保护的私有路由与重定向策略  Lar*el的路由模型绑定怎么用_Lar*el Route Model Binding简化控制器逻辑  拼多多赚钱渠道_拼多多收益来源  J*a最大堆Heapify方法修复:索引计算与边界条件深度解析  晋江读书网页版在线登录 晋江读书电脑版官网  蛙漫2日版入口 WAMAN2(日版)无删减漫画官网链接  夸克浏览器图书入口 夸克手机浏览器阅读入口  在VS Code中配置和运行Dart程序的完整步骤  qq游戏跨平台入口_qq游戏多设备同步登录  铁路12306的积分有效期是多久_铁路12306积分有效期说明  俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达  TikTok评论显示延迟如何处理 TikTok评论刷新优化方法  C++如何解决segmentation fault_C++段错误调试与原因分析  在J*a中如何开发简易电子商务商品管理系统_商品管理系统项目实战解析  Spring Boot嵌入式服务器与J*a EE:功能支持深度解析  qq游戏手机版下载安装_qq游戏移动端入口  c++如何使用Meson构建系统_c++比CMake更快的构建工具  黑鲨3Pro怎样在相册开漫画风滤镜_iPhone黑鲨3Pro相册开漫画风滤镜【趣味滤镜】  Yandex搜索引擎官网入口_俄罗斯Yandex免登录一键直达  qq游戏大厅官方下载_qq游戏免费下载安装入口  移动端XML文件怎么转换成Excel 手机和平板上的解决方案  AO3官方在线访问地址 Archive of Our Own最新镜像合集  怎样更改Windows系统的默认安装路径_避免C盘爆满的终极设置【技巧】  网站内容防复制粘贴的实现策略与局限性  《刺客信条:影》PS5 Pro和Switch 2画面对比  如何有效阻止外部脚本意外修改内联样式的高度属性  NetBeans Ant项目:自动化将资源文件复制到dist目录的教程  从J*aScript对象中精确提取指定属性的教程  mysql备份恢复性能优化_mysql备份恢复性能优化方法  AO3最新入口2025公告_AO3中文官网合集  CSS子选择器:如何区分并样式化嵌套列表的子层级  LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别  三星GalaxyZFold5怎样在相册制作折叠屏分镜_iPhone三星GalaxyZFold5相册制作折叠屏分镜【创意编辑】  如何在 Excel Online 和 Google 表格中更改日期格式  c++如何实现单例设计模式_c++线程安全的单例模式写法  理解J*aScript Promise的微任务队列与执行顺序  CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示  steam官方网页快速访问 steam账号注册全流程  J*a递归快速排序中静态变量导致数据累积的陷阱与解决方案  魅族17怎样用浏览器译外语网页_iPhone魅族17浏览器译外语网页【即时翻译】  快手官方唯一登录入口 谨防山寨钓鱼网站  漫蛙漫画登录站点 漫蛙2正版漫画快速访问  一加手机拍照效果不好怎么办 一加哈苏影像调校与专业模式使用教程【高手篇】  解决 Express.js 中 PUT 请求密码修改失败的路由配置指南  Python getattr() 异常处理深度解析:避免程序意外退出  蛙漫限时开放最深处链接_蛙漫全站漫画会员同款秒开地址 

搜索