双色球6+1Java模拟

xiaoxiao2021-02-28  64

# 程序运行结果: 一等奖:0次 二等奖:0次 三等奖:2次 四等奖:108次 五等奖:3720次 六等奖:301106次 感谢购买:9695064次 累计购买:10000000次 代码: ··· package zj.apps.doll;

import java.util.Collection; import java.util.Collections; import java.util.Vector;

import eq.util.MyArray;

public class DoubleColorBall { private static final int total = 10000000; static final int MAX = 33; private static final String[] RANK = “感谢购买 一等奖 二等奖 三等奖 四等奖 五等奖 六等奖”.split(“\s+”); static Vector balls = new Vector<>(); static Integer sBlueBall; static Vector sRedBalls = new Vector<>();

static { for (int i = 1; i <= MAX; i++) balls.add(i); Collections.shuffle(balls); sBlueBall = balls.get(0); sRedBalls.addAll(balls.subList(1, 6)); Collections.sort(sRedBalls); } Integer blueBall; Vector<Integer> redBalls = new Vector<>(); public DoubleColorBall() { Collections.shuffle(balls); blueBall = balls.get(0); redBalls.addAll(balls.subList(1, 6)); Collections.sort(redBalls); } @Override public String toString() { StringBuffer buffer = new StringBuffer(""); for (Integer i : redBalls) if (i < 10) buffer.append(" (0" + i + ") "); else buffer.append(" (" + i + ") "); if (blueBall < 10) buffer.append("[0" + blueBall + "]"); else buffer.append("[" + blueBall + "]"); return buffer.toString(); } public static String getTopBouns() { StringBuffer buffer = new StringBuffer(""); for (Integer i : sRedBalls) if (i < 10) buffer.append(" (0" + i + ") "); else buffer.append(" (" + i + ") "); if (sBlueBall < 10) buffer.append("[0" + sBlueBall + "]"); else buffer.append("[" + sBlueBall + "]"); return buffer.toString(); } /** * @param args */ public static void main(String[] args) { System.out.println("双色球模拟程序(6+1)~"); System.out.println(getTopBouns()); System.out.println("--------------------------------"); int f[] = new int[7]; for (int i = 0; i < total; i++) { DoubleColorBall my = new DoubleColorBall(); int rank=my.judge(); f[rank]++; if(rank>=1&&rank<=4) System.out.println(my+RANK[rank]); } for(int i=1;i<=7;i++) { int j=(i)%7; System.out.println(RANK[j]+":"+f[j]+"次"); } System.out.println("累计购买:"+total+"次"); } private int judge() { if (check(6, 1)) return 1; else if (check(6, 0)) return 2; else if (check(5, 1)) return 3; else if (check(5, 0) || check(4, 1)) return 4; else if (check(4, 0) || check(3, 1)) return 5; else if (check(2, 1) || check(1, 1) || check(0, 1)) return 6; else return 0; } private boolean check(int rr, int bb) { int red = 0, blue = 0; if (blueBall.equals(sBlueBall)) blue++; for (int i = 0; i < redBalls.size(); i++) if (redBalls.get(i).equals(sRedBalls.get(i))) red++; return red == rr && blue == bb; }

}

···

转载请注明原文地址: https://www.6miu.com/read-78777.html

最新回复(0)