【强推】加油站支付模块开发复盘:面向对象+流程控制实现计价与找零逻辑
📅 2026/7/13 21:49:24
👁️ 次浏览
问题加油站支付小模块某加油站为了吸引更多的车主推出了如下活动车主可以办理金卡和银卡卡片信息包括车牌号码车主姓名电话号码卡片余额金卡办理时入存金额必须5000元金卡支付享受8折优惠且消费满200元可以提供洗车服务银卡办理时入存金额必须2000元银卡支付享受9折优惠需求请使用面向对象编程完成该加油站支付机的存款和消费程序Text.javapackage com.itheima.demo; import java.util.Scanner; public class Text { public static void main(String[] args) { //目标加油站支付小程序 //1.城建卡片类以便创建金卡或者银卡对象封装车主的数据 //2.定义一个卡片父类Card定义一个金卡和银卡的共同属性和方法 //3.定义一个金卡类继承Card类金卡必须重写消费方法8折优惠及独有功能打印洗车票 GoldCard goldCard new GoldCard(01,张三,1380000001,1000); //3.定义一个银卡类继承Card类银卡必须重写消费方法9折优惠 SilverCard silverCard new SilverCard(02,李四,1380000002,2000); //4。办一张金卡创建金卡对象交给一个独立的业务存款消费 //5.办一张银卡创建银卡对象交给一个独立的业务存款消费 pay(silverCard); pay(goldCard); } //pay()方法定义在main()方法外面Java中不允许在方法内部嵌套定义方法 public static void pay(Card c){ System.out.println(请输入消费金额); Scanner sc new Scanner(System.in); double money sc.nextDouble(); c.consume(money); } }Card.javaimport lombok.Data; import lombok.NoArgsConstructor; // Data注解可以自动生成getter和setter方法无参数构造器toString方法等 Data AllArgsConstructor //自动构造有参构造器 NoArgsConstructor //自动构造无参构造器 public class Card { private String carId ; private String name ; private double phone; private double money; //预存金额 public void deposit(double money){ this.money money; } //消费金额 public void consume(double money){ this.money - money; } }GoldCard.javapackage com.itheima.demo; public class GoldCard extends Card{ public GoldCard(String carId, String name, double phone, int money) { super(carId, name, phone, money);//调用父类有参构造器 } Override public void consume(double money) { System.out.println(您当前金卡消费money); System.out.println(优惠后的价格是money*0.8); if (getMoney()money*0.8){ System.out.println(余额不足); return;//干掉方法 } //更新金卡的账户余额,用set进行修改get进行获取 setMoney(getMoney()-money*0.8); //判断消费如果大于200调用一个独有的功能打印洗车票 if(money * 0.8 200){ printWashCarTicket(); }else { System.out.println(没有消费200元以上没有洗车票); } } //打印洗车票 public void printWashCarTicket(){ System.out.println(您已获得一张金卡洗车券); } }SilverCard.javapackage com.itheima.demo; public class SilverCard extends Card { public SilverCard(String carId,String name, double phone, int money) { super(carId, name, phone, money);//调用父类有参构造器 } Override public void consume(double money) { System.out.println(您当前银卡消费 money); System.out.println(优惠后的价格是 money * 0.9); setMoney(getMoney() - money * 0.9); if (getMoney()money*0.9){ System.out.println(余额不足); return; //干掉方法 } } }过程中遇到的问题方法嵌套定义在Text.java中方法定义位置错误pay() 方法定义在 main() 方法内部Java 中不允许在方法内部嵌套定义方法。构造器继承问题GoldCard 和 SilverCard 构造器未调用父类构造器。参数类型不匹配父类 Card 的属性为 carIdString、phoneString而子类构造器参数中 phone 被定义为 double 或 int且参数名 card 与父类 carId 不匹配。总结这个小项目结合了之前学过的封装继承多态等知识第一遍先跟着课程敲一遍理解里面的业务逻辑后续要自己尝试重新多去敲几遍巩固之前学过的知识。
ino串口监控指南:使用命令行与Arduino设备进行通信 【免费下载链接】ino Command line toolkit for working with Arduino hardware 项目地址: https://gitcode.com/gh_mirrors/in/ino
ino是一款强大的命令行工具包,专为Arduino硬件开发设计。通过…
📅 2026/7/13 21:49:24
Forza Painter:基于几何分解算法的游戏涂装自动化生成引擎 【免费下载链接】forza-painter Import images into Forza 项目地址: https://gitcode.com/gh_mirrors/fo/forza-painter
Forza Painter是一个专为Forza Horizon系列游戏设计的开源图像转涂装工具&a…
📅 2026/7/13 21:49:24
HAMi架构深度解析:Kubernetes异构AI计算资源统一调度平台的技术实现与优化 【免费下载链接】HAMi Heterogeneous GPU Sharing on Kubernetes 项目地址: https://gitcode.com/GitHub_Trending/ha/HAMi
在AI计算资源日益稀缺的今天,企业面临GPU利用…
📅 2026/7/13 21:49:24
Cheat Engine 7.5 逆向实战:3步定位游戏动态内存地址与静态基址在游戏逆向工程领域,精准定位关键数据的内存地址是核心技能之一。无论是修改游戏参数、分析游戏逻辑,还是开发辅助工具,掌握从动态地址追踪到静态基址的技术都至关重…
📅 2026/7/13 22:32:38
1. 为什么选择PIC18F4525与CMT-8540S-SMT组合在嵌入式音频交互领域,微控制器与音频模块的选型直接影响项目的可行性和最终效果。PIC18F4525作为Microchip旗下的8位MCU,具备32KB闪存和1.5KB RAM,其最大20MHz的工作频率足以处理基础音频信号的时…
📅 2026/7/13 22:32:38
文章探讨了AI技术如何重塑职业版图,预测到2030年AI将创造1.7亿个新岗位,同时替代高重复性工作。文章分析了AI职业发展的三重浪潮:替代与融合、新增岗位爆发、国产AI崛起,并详细介绍了8个最具发展潜力的AI相关岗位,如大…
📅 2026/7/13 22:32:38
Java CPU密集型任务:线程数 CPU核心数 1 深度解析
这是Java并发编程里非常经典、面试高频的知识点,我给你用最通俗、最本质的方式讲清楚,为什么不是等于核心数,而是要 1。
先明确前提
CPU密集型任务: 线程一直在做…
📅 2026/7/13 22:32:38
Windows 本地部署 Hermes 太麻烦?整合包 5 分钟完成本地搭建
不少使用者想要体验 Hermes Agent,但手动部署阶段总会卡在环境配置环节。 安装各类依赖、调试运行环境、处理目录路径问题,还会频繁出现命令行报错、系统安全拦截、核心文件缺失等…
📅 2026/7/13 22:32:38
做_ geo分析怎么做?别被那些高大上的术语吓住,其实就三件事:看人在哪、看钱在哪、看对手在哪。这篇干货不整虚的,直接给你拆解步骤,看完就能上手。上周我去杭州见个做跨境电商的朋友,老张。他愁得头发都快薅秃了。说投了五十万广告,转化率低得可怜。我问他:“你清楚你的…
📅 2026/7/13 22:31:55
做技术的人都知道,环境配置是最让人头秃的环节。特别是当你面对一个相对小众或者刚起步的项目时,文档可能不全,社区可能冷清。这时候,找到靠谱的来源就显得尤为重要。今天咱们不聊虚的,就聊聊怎么稳妥地完成 openclaw安装官方 流程,顺便分享几个我踩过的坑,希望能帮你省…
📅 2026/7/13 0:01:22
1. 项目概述:当火焰特效成为帧率杀手在UE5项目里,尤其是那些追求电影级视觉的开放世界或者大场景战斗游戏,一个熊熊燃烧的篝火、一次震撼的爆炸,往往是点燃玩家情绪的关键。Niagara作为虚幻引擎5中取代了老旧的Cascade的下一代粒子…
📅 2026/7/13 0:01:52
1. 项目概述与核心价值 最近在对接抖音小游戏平台时,侧边栏复访功能成了一个绕不开的“必答题”。很多开发者朋友,包括我自己一开始,都对这个功能有点摸不着头脑:它到底是什么?为什么平台这么重视?不接入行…
📅 2026/7/13 0:01:52
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/13 5:30:27
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/13 6:21:22
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/13 7:10:30
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/13 3:29:47
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/13 19:47:36
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/13 9:07:16