生成随机数,可用于彩票

package test;

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

public class Ball {

private List<Integer> redBalls;
private Integer blueBall;

public Ball() {
calculateRedBalls();
calculateBlueBall();
}

private void calculateRedBalls() {
List<Integer> balls = new ArrayList<Integer>();
for (int i = 1; i <= 33; i++) {
balls.add(i);
}
Collections.shuffle(balls);
redBalls = new ArrayList<Integer>(balls.subList(0, 6));
Collections.sort(redBalls);
}

private void calculateBlueBall() {
blueBall = (int) (Math.random() * 16 + 1);
}

@Override
public String toString() {
return "红色球是: " + redBalls + " and蓝色球是: " + blueBall;
}

public static void main(String[] args) {
Ball ball = new Ball();
System.out.println(ball);
}

}


以上是引用别人的,还可以有另一种方法

package test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Vector;

public class Test {
static Random r = new Random();
public static int getRandomIntWithinRange(int cap) {
return r.nextInt(cap)+1;
}
/**
* @param cap 最大到多少,如35,最大到35
* @param count,总共产生几个数,如5,产生5个数
* */
public static Vector getRandomIntArrayWithinRange(int count, int cap) {
Vector v = new Vector();
Vector ret = new Vector();
for(int i=1;i<=cap;i++) {
v.add(new Integer(i));
}
//确保不重复
for(int i=1;i<=count;i++) {
int index = getRandomIntWithinRange(cap+1-i);
ret.add(v.remove(index-1));
}
Collections.sort(ret);
return ret;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

Vector v=getRandomIntArrayWithinRange(5,35);
String s=""+v;

s=s.replace("[", "");
s=s.replace("]", "");

System.out.println(s);


}

}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值