2013-12-14 3 views
-1

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

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

    public class Games { 

     static ArrayList<Integer> blacklist = new ArrayList<Integer>(); 
     static int number; 
     static String[][] yes = {{"Apostolic Orgin", "Comes form the apostles"}, 
      {"Biblical inerrancy", "the doctrine that the books are free from error reading the truth"}, 
      {"Divine Inspiration", "the assistance the holy spirit gave the authors or the bible so they could write"}, 
      {"fundamentalist approach", "interpretation of the bible and christian doctrine based on the literal meaning og bible's word"}, {"pentateuch", "first 5 books of old testament"}}; 

     public static void main(String[] args) { 
      Printer(pickQuestion(), pickAnswer()); 
     } 

     public static int RandomNumber(int i) { 
      int c; 
      Random r = new Random(); 
      c = r.nextInt(i); 
      return c; 

     } 

     public static void Printer(String question, String answer) { 
      System.out.println("Question: " + question); 
      System.out.println("Answer: " + answer); 
     } 

     public static String pickQuestion() { 
      number = RandomNumber(yes.length); 
      return yes[number][0]; 
     } 

     public static String pickAnswer() { 
      return yes[number][1]; 
     } 
} 

ответ

0

Самый простой вариант предварительно перетасовать список вопросов, либо баловаться с вопросами и ответами массивы непосредственно, либо путем создания массива целых чисел от 1 до п, где есть ряд вопросов, шаркая, что , а затем загрузите «карту» в позицию, указанную этим значением в массиве. То есть, создать [1,2,3,4,5] в случайном порядке: [5,1,3,4,2] И нагрузка вопрос 5, то вопрос 1 и т.д.

Последняя вариант сделает несколько вещей проще, не в последнюю очередь отладка!

Создание массива по порядку является тривиальным циклом цикла, и для перетасовки также существует множество стандартных алгоритмов. Random shuffling of an array

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