java利用Random类

利用Random累产生5个20-30之间的随机整数,要求互不相同

import java.util.Random;

public class 扑克牌 {

	public static void main(String[] args) {
		int i;
		int j;
		boolean flag=false;
		int num = 0;
		int a[] = new int[5];
		Random rnd = new Random();
		for(i=0;i<a.length;i++){
			flag = true;
			while(flag){
				num = (rnd.nextInt(10) + 20);
				for(j=0;j<i;j++){
					if(num == a[j]){
						break;	
					}
				}
				if(j==i){
					flag=false;
					a[i] = num;	
				}
			}
		}
		for(i = 0;i<a.length;i++) {
			System.out.print(a[i] + "\t");
		}
	}
}

 

不重复可以用set进行自动过滤


import java.util.*;
public class Test{
	
    public static void main(String []args) {
       Set set = new HashSet();
        Random r = new Random();
        while (true) {
            set.add(r.nextInt(10) + 20);
            if (set.size() >= 5) {
                break;
            }
        }
        System.out.println(set);
    }
}

 

public static void main(String []args) {
       Random ran = new Random();
        for(int i=0;i<5;i++){
            //ran.nextInt(10)产生范围0-10 加上20范围就是20-30
            System.out.println(ran.nextInt(10)+20);
        }
    }

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632