讲师中心 微信公众号
AI工具推荐 视频效率加速

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

梦晨小哥_7254

梦晨小哥_7254

发布时间:2025-12-02 18:26:02

|

976人浏览过

|

来源于php中文网

原创

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

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

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

需求分析

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

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

核心逻辑实现

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

示例代码:

Alibabacloud Sdk Client Initialization For Java
Alibabacloud Sdk Client Initialization For Java

在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。

下载

立即学习“Java免费学习笔记(深入)”;

import java.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),提升代码结构清晰度
  • 统计购买商品总件数

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

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

334

2023.09.25

go语言 面向对象
go语言 面向对象

本专题整合了go语言面向对象相关内容,阅读专题下面的文章了解更多详细内容。

5295

2025.09.05

java面向对象
java面向对象

本专题整合了java面向对象相关内容,阅读专题下面的文章了解更多详细内容。

302

2025.11.27

C++ 面向对象编程与设计模式实践
C++ 面向对象编程与设计模式实践

本专题整合了 C++ 面向对象编程的核心机制,涵盖类的定义与访问控制、构造函数与析构函数、拷贝语义与移动语义、继承与虚函数多态、抽象类与接口、运算符重载、友元函数等关键知识点,同时结合单例模式、工厂模式、观察者模式、策略模式等常用设计模式的 C++ 实现,帮助开发者写出结构清晰、易于维护的面向对象代码。

304

2026.04.09

Java 面向对象与核心编程机制
Java 面向对象与核心编程机制

系统讲解 Java 面向对象编程的核心知识体系,涵盖类的定义与封装、构造方法与 this/super 关键字、继承与方法重写、多态与向上向下转型、抽象类与接口的区别与设计原则、异常处理机制(try-catch-finally / 自定义异常)、泛型的类型参数与通配符、集合框架(List/Set/Map)的使用与遍历方式,帮助开发者全面掌握 Java 程序设计的核心机制与面向对象思维。

203

2026.04.17

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

80

2026.09.23

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

20

2026.09.23

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

20

2026.09.23

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

20

2026.09.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn