做网站百度推广多少钱,潮州有没有做网站的人,wordpress如何卸载插件,如何修改网站后台地址发红包案例#xff1a;
案例目录结构如下#xff08;red包为第三方包#xff0c;需要的话可以到网上自行下载或私信我邮箱即可#xff09;#xff1a;
// 1.这里将借用发红包的框架#xff1a;RedPacketFrame#xff08;图形界面化#xff09;#xff0c;OpenMode处…发红包案例
案例目录结构如下red包为第三方包需要的话可以到网上自行下载或私信我邮箱即可
// 1.这里将借用发红包的框架RedPacketFrame图形界面化OpenMode处理红包分发逻辑的接口里面只有一个抽象方法需要自己实现实现普通红包和手气红包的分发
// 框架中提供相关参数totalMoney(红包总金额)、totalCount(要分发的总份数)、divide(int totalMoney, int totalCount)处理方法、ArrayListInteger(将处理后的数据放到数组列表中)
/* 2.注意事项
普通红包平均分发totalMoney / totalCount平均分发会有除不尽的情况此时推荐将余数加到最后一份上。
手气红包随机手气红包处理逻辑可以自己设计这里推荐一种常用的设计思想最少一分钱java底层已经将钱转换为分计算了最多不超过平均数的2倍余额越发越少。
RedPacketFrame为一个抽象类不能直接new对象需要通过实现类来使用此抽象类。
setOwnerName(字符串)此方法是RedPacketFrame框架提供我们修改发红包人名字的。
setOpenWay(OpenWay):设置分发(打开)红包的方式里面传入OpenWay类型的数据。
*/
import red.OpenMode;
// 3.导入RedPacketFrame抽象类
import red.RedPacketFrame;//特别提醒导入一个自定义的包时需要在包中的java文件中声明包其格式package 包中java文件所在的位置如package red;
public class Start{public static void main(String[] args){// 5.创建一个红包SonRedPackClass redpack new SonRedPackClass(测试发红包案例);//这里传入字符串用来设置红包的标题redpack.setOwnerName(苦海);//设置发红包人姓名// 7.创建平均分发红包对象OpenMode avgredpack new AvgRedPack();// OpenMode randomredpack new RandomRedPack();//经测试随机分发红包处理方法可以实现redpack.setOpenWay(avgredpack);//设置打开方式为平均分发红包当着这里可以传入随机分发红包的OpenMode数据};
};import red.RedPacketFrame;//导入RedPacketFrame用来被继承
// 4.创建一个SonRedPackcCass子类(实现类)来继承RedPacketFrame
public class SonRedPackClass extends RedPacketFrame{public SonRedPackClass(String title){//title为图形界面的标题super(title);//通过super调用父级的构造方法}
};// 6.实现OpenMode接口中的divide方法这里使用平均分发的思想覆盖重写 divide方法
import java.util.ArrayList;
import red.OpenMode;
public class AvgRedPack implements OpenMode{Overridepublic ArrayListInteger divide(final int totalMoney,final int totalCount){//因为在整个分发过程中总份数和总钱数不变这里可以使用final进行修饰当然不写也可以ArrayListInteger list new ArrayList();//创建一个数组用来存放平均分发的每一份数据int avg totalMoney / totalCount;//平均数int mod totalMoney % totalCount;//余数// 将平均数通过循环放入到数组中余数推荐分发给最后一个或第一个这里将余数分发给最后一个了如for(int i 0; i totalCount;i){if(i totalCount-1){list.add(avg mod);}else{list.add(avg);}};return list;};
}// 8.再实现一下OpenMode接口中随机分发红包的方法divide
import java.util.ArrayList;
import red.OpenMode;
import java.util.Random;
public class RandomRedPack implements OpenMode{Overridepublic ArrayListInteger divide(final int totalMoney,final int totalCount){//因为在整个分发过程中总份数和总钱数不变这里可以使用final进行修饰当然不写也可以ArrayListInteger list new ArrayList();//创建一个数组用来存放随机分发的每一份数据//定义两个变量剩余金额、剩余分发次数如int leftMoney totalMoney;//初始化为总金额每分发一次金额减少一次int leftCount totalCount;//初始化为总次数每分发一次次数减少一次// 通过循环产生随机数并将产生的随机数放到数字中for(int i 0; i totalCount;i){//前面的人得到随机红包最后一个人将剩余金额都给他即可因此这里循环总人数-1Random random new Random();//创建一个随机数生成器int money random.nextInt(leftMoney / leftCount *2) 1;//生成随机金额最少应分到1分钱所以因是1一个随机数if(i totalCount-1){list.add(leftMoney);}else{list.add(money);};leftMoney - money;leftCount--;};return list;};
}提示本文图片等素材来源于网络若有侵权请发邮件至邮箱810665436qq.com联系笔者删除。 笔者苦海