2016-10-11 11 views
-1

私は学校と私は1と10の間に3つのランダムな整数を取得しようとすると私は3つのユニークな数字を持って、私は本当に理解することができません。ランダムなユニークな数字java

これは、これまでの私のコードです:

public static void main(String[] args) { 
    int[] randomGetal = genereerGetallen(); 
    for (int i = 0; i < 3; i++) { 
     System.out.println(randomGetal[i]); 
    } 


} 

public static int[] genereerGetallen() { 
    int[] randomGetal = new int[3]; 

    for (int i = 0; i < randomGetal.length; i++){ 
     randomGetal[i] = (int)(Math.random() * 10); 
    } 

    return randomGetal; 
} 
+2

数字を1から10にシャッフルして、最初の3つを取ります。 – khelwood

+0

3つのユニークな番号が必要な場合は、既に持っている値を確認する方法を考えましたか? 3つのランダムな値を正しく生成することを考えれば、すでに存在するものが1つあることをどのように確認しますか?あなたの考えは? – Ash

+0

http://stackoverflow.com/questions/8115722/generating-unique-random-numbers-in-java –

答えて

0

正しい方向にあなたを得るためにいくつかのガイダンス:今、あなたは、単に3個の乱数を作成しています。あなたが望む制約を適用するためにそこにコードがあります。

したがって、が「既に取られている」乱数についてを知っているコードを書くだけで済みます。だから、あなたが "新しい"番号をつくって、あなたがすでに選んだ番号を描くと、あなたは単にもう一度お試しください。

他の言葉:「取得」されていない別の乱数が見つかるまでループを開始します。

完全に異なるアプローチは、興味のある数値の範囲を含む配列を作成することです。 シャッフルその配列はその後最初のn(今は3つ)のエントリを選択します。

関連する問題