练习写 不重复的随机数
package com.fqs.demo061301; import com.sun.scenario.effect.impl.prism.ps.PPStoPSWDisplacementMapPeer; import java.util.Random; public class ArrNo { public static void main(String[] args) { //定义原始数组arr int []arr={11,22,33,44,55}; int weishu=arr.length; //不重复额数组arrNo int[]arrNo2=getNo(weishu); //打印随机数 arrNo2里面包含不重复的下标 for (int i = 0; i < weishu; i++) { System.out.println(arrNo2[i]); } } //获取随机数组 包含不重复的下标 public static int[] getNo(int weishu) { int []arrNo=new int[weishu]; //第一个随机数num0 Random r=new Random(); int num0=r.nextInt(weishu); System.out.println("第一个随机数:"+num0); arrNo[0]=num0; for (int i = 1; i < weishu; ) {//第二个,第三个随机数 //第二个随机数num 不一定符合 int num=r.nextInt(weishu); System.out.println("第"+(i+1)+"个不一定符合条件的随机数:"+num); boolean isFind=false; for (int j = 0; j <i ; j++) { if (num == arrNo[j]) { System.out.println("相等,不符合条件"); isFind = true; //有重复的 break; } } if(isFind==false){ arrNo[i]=num; System.out.println("不相等,将"+num+"赋值给arrNo["+i+"]"); i++; } }return arrNo; } }