双色球

package com.ztf.test;

/**
 * 双色球规则
 * 红球池33个{01,02..33}
 * 蓝球池16个
 * 前六位 红球 最后一位红球
 * @author maoyz
 *
 */
public class ColorBall {
	
	private static final int RED_BALL_LENGTH = 33;
	private static final int BLUE_BALL_LENGTH = 16;
	private static final int RESULT_LENGTH = 7;

	public static void main(String[] args) {
		int reds[] = new int[RED_BALL_LENGTH];
		int blues[] = new int[BLUE_BALL_LENGTH];
		int result[] = new int[RESULT_LENGTH];
		
		for (int i = 0; i < RED_BALL_LENGTH; ++i) {
			reds[i] = i + 1;
		}
		for (int i = 0; i < BLUE_BALL_LENGTH; ++i) {
			blues[i] = i + 1;
		}
		
		// red ball
		int index = 0;
		for (int i = 0; i < RESULT_LENGTH - 1; ++i) {
			index = (int) (Math.random() * RED_BALL_LENGTH);
			// Avoid duplicate
			if (reds[index] == 0) {
				// Reselect if duplicate
				i--;
				continue;
			} else {
				result[i] = reds[index];
				// Mark 0 for selected number
				reds[index] = 0;
			}
		}
		
		// blue ball
		result[RESULT_LENGTH - 1] =  blues[(int) (Math.random() * BLUE_BALL_LENGTH)];
		
		String split;
		for (int i = 0; i < RESULT_LENGTH; ++i) {
			split = i == RESULT_LENGTH - 2 ? " - " : " ";
			System.out.print(result[i] + split);
		}
		
		
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值