模仿微信发红包代码

news/2025/2/22 1:49:04/
package test;

import java.util.ArrayList;
import java.util.List;

/**
* Description: <br>
*
* @author <a href=mailto:lianle1@jd.com>连乐</a>
* @date 2016/3/1 12:10
*/
public class Test {

public static void main(String[] args) {

int size = 10;//红包个数
int money = 100;// 金额

//获取每个人大概平均钱数。
List<Float> result = getAll(size, money);
//检查总钱数
float check = 0;
for(int i = 0 ; i < result.size(); i++) {
System.out.println("第" + (i+1) + "个人获得:" + result.get(i) + "元钱");
check += result.get(i);
}

System.out.println("**********************************");
System.out.println("All money is " + check + "元");
}

/**
* 得到所有人赢得的对应的金额
* @param size
* @param money
* @return
*/
public static List<Float> getAll(float size, float money) {
List<Float> list = new ArrayList<Float>();
for(float i = size; i != 1; i--) {
float one = getMoney(i, money);
list.add(one);
money -= one;
}

list.add(money);
return list;

}

/**
* 基础拍脑袋算法
* @param size
* @param money
* @return
*/
public static float getMoney(float size, float money) {
if (size == 1) {
return money;
}

return getRandom(0.01f, (2 * money)/size);
}

/**
* 得到两个数字中的随机数
* @param max
* @param min
* @return
*/
public static float getRandom(float min, float max) {
// (数据类型)(最小值+Math.random()*(最大值-最小值+1))
return (int) (min + Math.random() * (max - min + 1));
}
}

http://www.ppmy.cn/news/465431.html

相关文章

python发红包实现

import randomdef lucky_money(n, amount):""":param n: 红包个数:param amount: 红包金额&#xff08;以元为单位&#xff09;:return: 生成器&#xff0c;n个红包的金额&#xff0c;以分为单位 """lst list(random.sample(range(1, amount*…

微信发红包-测试用例(全)

功能 1.在红包钱数&#xff0c;和红包个数的输入框中只能输入数字 2.红包里最多和最少可以输入的钱数 200 0.01 3.拼手气红包最多可以发多少个红包 100 3.1超过最大拼手气红包的个数是否有提醒 4.当红包钱数超过最大范围是不是有对应的提示 5.当发送的红包个数超过最大范围是…

python实现的发红包程序

本文转载来自&#xff1a;https://www.zh30.com/python-hongbao1.html 注&#xff1a;如有侵权请告知&#xff0c;并删除此文 最近网上出现了各种的抢红包&#xff0c;支付宝、QQ、微信。其中一种拼手气红包&#xff0c;发红包时用户输入一个红包总金额和待发红包总数&#xf…

发红包代码

1.实现效果&#xff1a; 2.登录必备 每一个人都有自己的用户信息【用户名、手机号、密码、钱包剩余金额】 | Id | 用户名 |手机号 |金额 |1 |郝云 |13126726903 |9000 |2 |李四 |15123451234 |1000 |3 |李五 |18612345678 |10000 3.发红包&#xff1a; 红包个数&#xff1a;8 …

Python——简易发红包程序

1、固定人数 import random money 100 for i in range(1,10):#限制人数a random.randint(1,10)#随机生成1到10元money money-aprint("第"str(i)"个人&#xff0c;收到"str(a)"元&#xff0c;""剩余"str(money)"元") 运…

微信发红包测试点

微信发红包测试点&#xff1a;功能1.在红包钱数&#xff0c;和红包个数的输入框中只能输入数字 2.红包里最多和最少可以输入的钱数 200 0.01 3.拼手气红包最多可以发多少个红包 100 3.1超过最大拼手气红包的个数是否有提醒 4.当红包钱数超过最大范围是不是有对应的提示 5.当发送…

微信发红包测试用例

主要从两个大的方面来说&#xff1a;功能性测试和非功能性测试 功能性测试可分为三种情况&#xff1a;一对一发红包&#xff0c;群发红包&#xff0c;一对一和群发的通用测试 功能性测试 一对一发红包&#xff1a;红包最大&#xff0c;最小的金额&#xff08;边界值测试0.01,1…

发红包的测试点

1、功能测试 1&#xff09;发给单个好友 ① 正确的金额无留言无表情 ② 错误的金额无留言无表情 ③ 正确的金额有留言无表情 ④ 错误的金额有留言无表情 ⑤ 正确的金额无留言有表情 ⑥ 错误的金额无留言有表情 ⑦ 正确的金额有留言有表情 ⑧ 错误的金额有留言有表情 其…