public static final int SUM = 35;//总共的数 public static final int NUM = 7;//选的号的个数
public static void main(String[] args) { //定义一个集合,用来保存35个数,下面选择的时候就从这里面选择,选完后把这次选的从集合中删除,这样就不会重复了。 List<Integer> list = new ArrayList<Integer>(); for(int i=0; i<SUM; i++) { list.add(i+1); }
//定义一个集合来保存结果 List<Integer> result = new ArrayList<Integer>();
//开始摇号 Random random = new Random(); int num; for(int i=0; i<NUM; i++) { num = list.remove(random.nextInt(list.size()));//摇出一个号,然后从list中删除该号 result.add(num); }
用一个数组存储随机数,每次产生一个随机数就要和数组里的每个元素比较,若有重复,则重新产生(注意,这儿产生了一个随机数,也要和数组中的每个元素比较)大概像这样:
int num;
int numbers = new int[7]; for(int i = 0;i < 7; i++)
{
num = Math.random() + 36;
for(int j = 0; j < i; j++)
{
while(num == numbers[j])
num = Math.ranodm() + 36;
j = -1;
}
numbers[i] = num;
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;public class Homework2 {
public static final int SUM = 35;//总共的数
public static final int NUM = 7;//选的号的个数
public static void main(String[] args) {
//定义一个集合,用来保存35个数,下面选择的时候就从这里面选择,选完后把这次选的从集合中删除,这样就不会重复了。
List<Integer> list = new ArrayList<Integer>();
for(int i=0; i<SUM; i++) {
list.add(i+1);
}
//定义一个集合来保存结果
List<Integer> result = new ArrayList<Integer>();
//开始摇号
Random random = new Random();
int num;
for(int i=0; i<NUM; i++) {
num = list.remove(random.nextInt(list.size()));//摇出一个号,然后从list中删除该号
result.add(num);
}
//对摇号的结果排序,然后打印摇号的结果
Collections.sort(result);
System.out.println(result);
}
}