温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用JAVA怎么实现一个红包分发功能

发布时间:2021-03-31 16:41:12 来源:亿速云 阅读:144 作者:Leah 栏目:开发技术

本篇文章为大家展示了使用JAVA怎么实现一个红包分发功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

代码

import java.util.Arrays;
import java.util.Random;
import java.math.*;
import java.util.Scanner;

public class Main {
  public static long now_time;
  public static long seed;
  public static int[] get_red_packets(int money, int num) {
    Random random = new Random(seed);
    seed = random.nextLong();
    int[] res = new int[num];
    double[] temp=new double[num];
    double sum = 0;
    int sum2 = 0;
    for (int i = 0; i < num; i++) {
      temp[i] = random.nextDouble();
      sum += temp[i];
    }
    for (int i = 0; i < num; i++) {
      res[i] = 1+ (int)(temp[i] / sum * (money-num));
      sum2 += res[i]-1;
    }
    res[random.nextInt(num)]+=money-sum2-num;
    return res;
  }

  public static void show(int[] red_packet){
    System.out.println("红包 : " + Arrays.toString(red_packet));
  }

  public static void main(String[] args) {
    int num, money;
    Scanner scanner = new Scanner(System.in);
    now_time = System.currentTimeMillis();
    Random init_random = new Random(now_time);
    seed = init_random.nextLong();
    System.out.println("请输入要分发的红包数量:");
    num = scanner.nextInt();
    System.out.println("请输入要分发的红包总金额(分):");
    money = scanner.nextInt();
    int a[] = get_red_packets(money,num);
    show(a);
  }
}

上述内容就是使用JAVA怎么实现一个红包分发功能,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI