生成一个不重复的随机数组
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]); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!