向一个数组中添加100个不重复的随机数的几个方法

import java.util.Arrays;
class Input100 {
    public static void main(String[] args) {
        int[] arr = new int[100];
        arr[0]=(int)(Math.random()*100+1);
        boolean flag = true;
        a:while(flag){
            for(int i = 0;i < arr.length;i++){
                for (int j = 0;j < i ;j++ ) {
                    if (arr[j] == arr[i]) {
                        arr[i]=(int)(Math.random()*100+1);
                        continue a;
                    }
                }
            }
            flag = false;
        }
                Arrays.sort(arr);
        for (int i = 0;i < arr.length ;i++ ) {
            System.out.print(arr[i]+" ");
        }
        
    }
}            

其中在循环阶段,还有另一种方法

import java.util.Arrays;
class Input100 {
    public static void main(String[] args) {
        int[] arr = new int[100];
        arr[0]=(int)(Math.random()*100+1);
        boolean flag = true;
                a:for(int i = 0; i < arr.length;i++) {
                for(int j = 0; j < i;j++) {    
                    if(arr[j]==arr[i]) {
                        arr[i]=(int)(Math.random()*100+1);
                        i--;
                        continue a;
                    }
                }
            }
        Arrays.sort(arr);
        for (int i = 0;i < arr.length ;i++ ) {
            System.out.print(arr[i]+" ");
        }
        
    }
}
            

除此之外,学完random和增强for循环后,也可以替换以前的方法

package com.zuikc.object;

import java.util.Arrays;
import java.util.Random;

public class Demo123 {

    public static void main(String[] args) {
       Random r = new Random();
int[] arr = new int[100]; arr[0]=(int)(r.nextInt(100)+1); boolean flag = true; a:while(flag){ for(int i = 0;i < arr.length;i++){ for (int j = 0;j < i ;j++ ) { if (arr[j] == arr[i]) { arr[i]=(int)(r.nextInt(100)+1); continue a; } } } flag = false; } Arrays.sort(arr); for (int i : arr) { System.out.println(i); } } }

猜你喜欢

转载自www.cnblogs.com/zhangzheng1989/p/9387574.html