2015-04-16 2 views
0

Я получил задачу моделирования лотереи в java. Программа скелет дает метод generateOneDraw, который создает 6 случайных чисел между 1 и 49Создайте несколько ничьих (вызовов) данного метода в java (имитируемая лотерея)

static int[] generateOneDraw() { 
    int numbers[] = new int[NUMBER_OF_ELEMENT_PER_DRAW]; 
    for(int i=0; i<numbers.length; ++i) { 
     int nextNumber; 
     do { 
      nextNumber = generateNextRandomNumber(); 
     } while(numberIsInArray(nextNumber, numbers)); 
     numbers[i] = nextNumber; 
    } 
    return numbers; 
} 

Мы тогда должны реализовать функцию, которая имитирует лотереи в течение 5 недель и сохраняет их в переменной ничьи. Я считаю, что это должно быть сделано над двумерным массивом. Я прав в этом способе мышления? Любые указатели на его реализацию были бы весьма признательны.

static void generateAllDraws() 

Заранее спасибо.

EDIT: Nevermind, я сделал это с помощью простого двухмерного массива, и это сработало.

+0

Я бы разработал простой класс 'Draw', чтобы держать цифру' List' и иметь «Список ' для их хранения. – Mena

+1

Рисование случайных чисел не гарантирует уникальность - это, вероятно, совсем не то, что вы хотите. Вам нужен массив с уже находящимися в нем номерами, случайным перетасовкой. У вашего нынешнего подхода есть возможность никогда не заканчиваться. –

+0

Спасибо за ответ, но так как я довольно новичок в java, я думаю, мне может понадобиться дополнительное объяснение. Я стараюсь сделать это как можно проще, даже если это не так эффективно. Не могли бы вы уточнить? –

ответ

1

Так как это кажется, что работа на дому, я не буду вдаваться в подробности, но вы можете:

  1. Создать 2 одномерный список, в соответствии с вашим начальным рассуждении;
  2. Создайте класс Draw, который представляет лотерею, и создайте несколько экземпляров этого класса. Каждый класс Draw может иметь Date, который обозначал бы , когда сделал ничью.

Оба подхода должны работать, второй подход немного ориентирован на объекты.

+0

Эй @ npinti! Вы правы, это домашнее задание - слово в слово, в котором говорится: «Реализуйте функцию generateAllDraws, которая создает 5 ничьих и сохраняет их в статической переменной draws». –

+0

@NinaHain: Тогда я бы порекомендовал вам попробовать оба подхода, упомянутые выше, или любые другие, которые здесь могут предложить другие люди :) – npinti

Смежные вопросы