java模拟微信抢红包

Posted CaoPengCheng&

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java模拟微信抢红包相关的知识,希望对你有一定的参考价值。

java模拟微信抢红包

package Hong;

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;

public class HongBao {
    private  static List<Double> s=new ArrayList<Double>() ;
    public static int x=0;
    public static int number;

    public void qiang(String m, String n) {

        double max=Double.parseDouble(m) ;
        number=Integer.parseInt(n) ;
        DecimalFormat df = new DecimalFormat("#.00");
        max= Double.parseDouble(df.format(max));
        for(int i=1;i<=Integer.parseInt(n) ;i++) {
            // System.out.println("max="+max);
            double randomNumber = Math.random() ;
            randomNumber*=10;
            randomNumber= Double.parseDouble(df.format(randomNumber));

            //System.out.println("randomNumber="+randomNumber);
            if(randomNumber>=max/2){
                i--;
                // System.out.println("big");
                continue;
            }
            if (i == Integer.parseInt(n)) {
                max= Double.parseDouble(df.format(max));
                s.add(max);
                break;
            }
            s.add(randomNumber);
            max -= randomNumber;
        }
    }


    public static List<Double> getS() {
        return s;
    }
}

package Hong;

import java.util.List;
import java.util.Scanner;

public class Qiang {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("红包");
        System.out.println("输入金额:");
        String monry=sc.next();
        System.out.println("输入个数:");
        String number=sc.next();

        HongBao l=new HongBao();
        l.qiang(monry,number);
        List<Double> s=HongBao.getS();

        while(true){
            System.out.println("【1】抢红包 【2】退出");
            int n=Integer.parseInt(sc.next());
            if(n==1) {
                if(HongBao.x<Integer.parseInt(number)) {
                    System.out.println("恭喜您,抢到:" + s.get(HongBao.x) + "元。");
                    HongBao.x+=1;
                }
                else
                    System.out.println("红包已抢完。");
            }
            else
                break;

        }
    }
}

在这里插入图片描述

以上是关于java模拟微信抢红包的主要内容,如果未能解决你的问题,请参考以下文章

微信抢红包过期失效实战案例

Android 实现自动抢微信红包

微信抢红包算法实现(JAVA)

微信抢红包算法实现(JAVA)

微信抢红包源代码

java 实现仿照微信抢红包算法,实测结果基本和微信吻合,附demo