日期:2014-05-20  浏览次数:20705 次

菜鸟求问
从1-35之间随机选出7个数字
public class CaiPiao{
public static void main(String[] args){
int[] cp=new int[7];
for(int i=0;i<cp.length;i++){
int a=(int)(Math.random()*35+1);
cp[i]=a;
}
for(int i=0;i<cp.length;i++){
System.out.println(cp[i]);
}
}
}
大侠们帮忙看看问题出在哪啊

------解决方案--------------------
Java code


public class Test{
    private static final int len = 7;
    public static void main(String[] args) {
        int[] cp = new int[7];
        Set s = new HashSet();
        for (int i = 0; i < len; i++) {
            int a = (int) (Math.random() * 35 + 1);
            s.add(new Integer(a));
            i = s.size();
        }
        for (Object temp : s) {
            System.out.println((Integer) temp);
        }
    }
}

------解决方案--------------------
Java code

    public static void main(String [] args) {
        List<Integer> list = new ArrayList<Integer>();
        for(int i = 0; i < 7; i++){
            Integer a = (int)(Math.random()*35+1);
            if(list.indexOf(a) != -1) {//判断是否与以经生成的随机数相同,相同就重新生成
                i--;
            } else {
                list.add(a);
            }
        }
        System.out.println(list);
    }