生成一个不重复的随机数组

复制代码
import java.util.Random;

public class NoR {
    public static void main(String[] args) {
        //随机数
        Random r=new Random();
        //目标随机数组的范围
        int len=9;
        //目标  存放随机数的数组
        int [] arr=new int[len];
        //第一个放入数组中的
        arr[0]=r.nextInt(len);
        //开始后面的值和前面的值比较
        System.out.println("arr[0]:"+arr[0]);
        for (int i = 1; i <len ; ) {//后一个值
            //随机数 temp  如果和前一个数不一样   temp赋值给arr[i]
            int temp=r.nextInt(len);
            //给flag一个初始值,下面需要定义真和假的两种情况
//,如果仅定义一种情况 会出现死循环
boolean isWeiYi=true
; System.out.println("temp:"+temp); //定义一个计数器 避免flag为false时死循环 int count=0;//相等的次数 for (int j = 0; j < i; j++) {//前一个值 System.out.println("开始------------"); //如果相等 跳出内循环 到外循环 再次获取新的随机数 if(temp==arr[j]){ isWeiYi=false;//定义了不唯一的情况 count++; System.out.println(temp+"和"+arr[j]+"相等"); break; } } //没有一次相等时 说明没有重复 if(count==0){ isWeiYi=true;//定义了唯一的情况 } //当flag为真的时候 执行i++ if(isWeiYi==true){ arr[i]=temp; i++; System.out.println(temp+":是唯一的"); } } for (int i = 0; i <len ; i++) { System.out.println(arr[i]); } } }
复制代码

 

posted @   胖豆芽  阅读(93)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示