前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java】综合案例——发红包【界面版】

【Java】综合案例——发红包【界面版】

作者头像
陶然同学
发布2023-02-27 13:14:25
3850
发布2023-02-27 13:14:25
举报
文章被收录于专栏:陶然同学博客

👀专栏介绍

【Java】 目前主要更新Java,一起学习一起进步。

👀本期介绍

本期主要介绍综合案例——发红包【界面版】

文章目录

案例需求

案例分析

案例实现

案例总结

红包文化源远流长。从古时的红色纸包,到手机 App 中的手气红包,红包作为一种独特的中华文化

传承至今。之前

的课程中,我们也编写过程序,模拟发普通红包。那么今天,我们将整合基础班课程中所有的技术

和知识,编写一

个带界面版的 发红包 案例。

目前,我们尚未学习过任何与界面相关的类。所以,界面相关代码,已经给出。请运用所学技术分

析并使

用。

案例需求

分析并使用已给出的类,编写程序,设置红包类型。

小贴士

红包类型:

1. 普通红包:金额均分。不能整除的,余额添加到最后一份红包中。

2. 手气红包:金额随机。各个红包金额累和与总金额相等。

红包场景:

此案例是模拟群主给群成员发红包,群主自己打开最后一个红包的场景。

案例分析

已知的类:

1. RedPacketFrame :一个抽象类,包含了一些属性,是红包案例的页面。

2. OpenMode :一个接口,包含一个分配方法,用来指定红包类型。

案例实现

环境搭建:

1. 创建项目:名称自定义,建议为 RedPacketDemo 。

2. 导入图片:将 pic 目录,导入项目中,与 src 目录平级。

3. 导入已知类:在 src 下创建一个包,名字自定义,建议为 known ,将类 RedPacketFrame 、接

口 OpenMode

拷入。

代码实现:

1. 定义 RedPacket 类,继承 RedPacketFrame ,代码如下:

2. 定义测试类,创建 RedPacket 对象,代码如下:

运行代码,打开一个发红包的页面。可以输入总金额,红包个数,留言信息。

点击 塞钱进红包 按钮,跳转到下一页面。

点击 谁谁谁谁 和 開 ,两个区域,发现可以设置两项内容:

谁谁谁谁 :表示群主在发红包,可设置群主名称。通过此方法,熟悉类结构,直接调用父类的方

法。

開 :表示打开红包,跳转到下一页面。但是开启之前,必须先设置红包的类型,否则无法开启。

3. RedPacket 对象,设置群主名称。

setOwnerName (

String ownerName ) ,是字符串作为参数。我们只需要传递一个字符串即可。

4. RedPacket 对象,设置红包类型。

setOpenMode(OpenMode openMode) ,是接口作为参数。我们必须定义接口的实现类,重写接

口中方法,并传

递实现类对象到 setOpenMode 方法中,方可设置完成。再观察接口:

5. 普通红包,打开方式 Common ,代码如下:

6. 发普通红包,代码如下:

7. 手气红包【重点】

本质上,手气红包就是把总金额 totalMoney 随机分成指定的 count 份,所以必须规定每一份金额

的取值范围。如

果范围太小,可能导致后分配红包金额特别大。反之范围太大,可能导致后分配红包金额为 0 ,不

够分。可见,取

值范围的定义规则,是手气红包的关键所在。

我们规定:每一份随机金额范围(除最后一份),最小值为 1 ,最大值为 当前剩余平均金额的 2

,单位为 " 分 " 。

计算公式:

举例:总额为50元,发5个红包。

小贴士:为方便表格中进行运算,此处,单位为 " 元 " 。程序中,建议换算为 " 分 " 进行运算。

手气红包,打开方式 Lucky ,代码如下:

8. 发手气红包,代码如下:

案例总结

通过 发红包 案例,你都学到了什么呢?请你思考如下问题:

1. 基础语法,你是否清晰?

2. 一些基本的类的方法,你是否能够调用?

3. 案例中哪里体现了继承,继承的作用是什么?

4. 接口作为参数,如何使用?

5. 接口作为成员变量,如何使用?

6. 如何简化接口的使用方式?

相信每位学员,都会有自己的思考和答案。也相信大家,随着开发经验的丰富,对于技术的理解会

更加深入,对技

术的运用会更加纯熟。通过对大量案例的不断积累,最终写出属于你自己的程序,成为一名真正的

coder 。感谢大

家参与学习 JavaSE 基础班课程,技术的道路上,这只是一个开始!谢谢大家!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 👀专栏介绍
  • 👀本期介绍
  • 文章目录
  • 案例需求
  • 案例分析
  • 案例实现
  • 案例总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档