2016-08-25 3 views
0

重複が許される理由を理解できないようです。私は自分のコードは、私はそれが任意の重複を持つことを望んでいないことを意味すると思った。今私のコードを持っている方法は、私のArrayListには7つの乱数を追加しますが、それは複製ではありません。重複を取り除いている間に、配列リストに一定量の乱数を追加する

import java.util.ArrayList; 
import java.util.Random; 

public class LotteryNumbers { 
    private ArrayList<Integer> numbers; 


    public LotteryNumbers() { 

     this.drawNumbers(); 
    } 

    public ArrayList<Integer> numbers() { 

     Random randomizer = new Random(); 


     int i = 1; 
     while (i <= 7) { 

     if (!numbers.contains(randomizer.nextInt(39 + 1))); { 

     numbers.add(randomizer.nextInt(39) + 1); 
     i++; 

     } 

     } 
     return this.numbers; 
    } 

    public void drawNumbers() { 

     this.numbers = new ArrayList<Integer>(); 

    } 


} 
+0

に従うようごnumbers()方法を修正しますは、java-8を使用していますか? – bradimus

+0

いいえNetBeansを使ったコースをやっていて、Java 6だと思います。 – Zariadres

+0

別の乱数を生成しているので、 'nextInt(...) 'の値を再利用してはいけませんか? – Aybe

答えて

0

public ArrayList<Integer> numbers() { 

    Random randomizer = new Random(); 

    int i = 1; 
    int num; 

    while (i <= 7) { 

     num = randomizer.nextInt(39 + 1); 

     if (!numbers.contains(num)); { 
      numbers.add(num); 
      i++; 
     } 

    } 

    return this.numbers; 
} 
関連する問題