2017-06-12 19 views
-3

数字の重複がなく1から50までの20の乱数を生成して配列に格納したいと思います。重複のない乱数の生成

たとえば、ボタンが1つの乱数をクリックすると、配列に格納されます。次に、ボタンともう1つの乱数を再度クリックすると、その乱数が配列で使用できるかどうかが生成されます。そこに配列で格納されていません。

私はいくつかの簡単なコードが必要ですが、いくつかのコードがこのサイトで利用可能ですが、私はそれらのコードを理解できません。私はJava 8とEclipse Oxygenを使用しています。

私はあなたが増加数値の配列を生成し、それをシャッフルすることにより、重複なしで乱数を生成することができ乱数

Random rand=new Random(); 
    i=1; 
    i=1+rand.nextInt(8); 
+3

「私はいくつかの簡単なコードを、いくつかのコードをしたいが、このサイトでご利用いただけますが、私はこれらのコードを理解することはできません。」関連する質問にリンクし、そのコードで理解できないことの詳細を教えてください。同じ質問をもう一度聞くだけでは意味がありません。同じ種類のコードを取得する可能性があります。まだ理解できません。回答者の時間を浪費しています。 –

+0

Stackoverflowは、コード作成サービスではありません。簡単なコードが必要な場合は、誰かを雇い、あなたのためにそれを書いてください。私は80ユーロ/時間を請求する。 –

+0

現在、私は利用できません。 –

答えて

2

を生成するために、この単純なコードを使用しています。

0

乱数を生成して配列に格納し、この配列に対して新しい番号をすべて確認することができます。これによりプロセスが遅くなる可能性があります。

整数が50個の配列がすべてのメモリを満たすわけではない限り、int[50]の魔法の整数を1から50まで作成し、無作為に選ばれた配列要素を削除(または新しい配列を作成)できます。それは良いパフォーマンスを提供しませんが、これは本当に重要ではないようです。

-2

このようsomenthing試してみてください:

private List<Integer> numbers = new ArrayList<Integer>(); 

private Integer generate() { 
    Random rand = new Random(); 
    int aux; 
    do { 
     aux = rand.nextInt(49) + 1; // Random numbers in between 1 and 50 
    } while (numbers.contains(aux)); // Prevents duplication 
    return aux; 
} 

public void btnClick() { 
    if (numbers.size() < 20) { // Limits to 20 numbers 
     numbers.add(generate()); // Store in an list 
    } 
}