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);
}
}