10 個の非反復乱数を生成し、配列に格納します (Java 実装)

トピックの要件: 整数配列を作成します。10 個の異なる乱数を生成し、整数配列に保存してください。生成中に繰り返しがある場合は、再生成されます。
Random メソッドを使用して乱数を生成する、インポート import java.util.Random;
問題解決のアイデア: 配列はすべて 0 に初期化されるため、区別するために、まず配列を -1 に初期化し、次にループを使用します。生成された乱数を変数 Number に格納し、乱数が生成されるたびにこの出力を調べ、重複がある場合は戻って再生成します。
繰り返される数値を取得し、それらを再生成するにはどうすればよいでしょうか? 生成された数値が配列で繰り返されない場合は、添え字+ 1 を制御します

public class RadnTest001 { public static void main(String[] args) { int []arr=new int[10]; ランダム r=new ランダム(); for (int i=0;i<arr.length;i++)//初期化{ arr[i]=-1; }






    int k=0;
    while (k<arr.length)
    {
        int key=r.nextInt(10);//为了方便测试我们让生成的随机数小于10
        if(find(arr,key))//如果find返回true,则k++,否则会一直进行while循环生成新的随机数
        {
            arr[k++]=key;
        }

    }
    for (int i=0;i<arr.length;i++)
    {
        System.out.print(arr[i]);
        System.out.print(" ");
    }
}
public static boolean find(int arr[],int k)
{
    for (int i=0;i<arr.length;i++)//遍历数组,如果和k相等返回false
    {
        if(arr[i]==k)
        {
            return false;
        }
    }
    return true;
}

}

テスト:
ここに画像の説明を挿入ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/Kirihara_Yukiho/article/details/124244732