2015-11-12 3 views
1

Я хочу, чтобы эта программа, чтобы вернуть новый набор чисел каждый раз, когда «Создать Number» кнопка нажата, то есть 6 целые числа от 0 до 10.Почему мой метод генератора случайных чисел возвращает те же цифры?

GUI for the program

Однако, это приносит обратно тот же набор чисел даже после нажатия кнопки снова и снова.

Это класс модели код, который генерирует номер:

public class Number { 
    int[] num = new int[6]; 
    Random ran = new Random(10); 

    public int[] generate(){ 

     for(int i = 0; i<6; i++) 
     { 
      num[i] = ran.nextInt(10); 
     } 
     return num; 
    } 
} 

и это, как этот код вызывается из ActionListener метода:

public void actionPerformed(ActionEvent e) { 
    Number numb = new Number(); 
    lot_num.setText(Arrays.toString(numb.generate())); 

} 

Я также не могу сказать, как управлять форматом результата так, чтобы он находился в текстовом поле без запятых и скобок.

+0

@SotiriosDelimanolis: Я не уверен, что они знали, что они устанавливают семена, обязательно. – Makoto

+0

Упорядочить по [случайности] (http://dilbert.com/strip/2001-10-25) –

+0

заменить 'Random ran = new Random (10);' with 'static final Random ran = new Random(); ' –

ответ

7

You've seeded your PRNG. Вы не получите никаких других значений.

Просто удалите семена при инициализации.

Random ran = new Random(); 
Смежные вопросы