Добавление массивов в ArrayList - PullRequest
3 голосов
/ 21 января 2012

Я пытаюсь создать что-то вроде счастливого генератора чисел в лото.На данный момент код даст желаемые результаты, но я бы очень хотел, чтобы массивы были в массиве.Вот мой код:

Ticket Class:

public class Ticket
{
    private int numberOfLines;

    public void displayTicket(int numberOfLines)
    {
        Numbers numbersClass = new Numbers();

        System.out.println("***************************************");
        System.out.println("**                                   **");
        System.out.println("**           Lotto Ticket            **");
        System.out.println("**                                   **");
        System.out.println("***************************************");
        System.out.println("**                                   **");

        for(int i = 0; i < numberOfLines; i++)
        {
            numbersClass.populateArray();
            numbersClass.ticket();
        }

        System.out.println("**                                   **");
        System.out.println("***************************************");

    }
}

Numbers Class:

public class Numbers
{
    // Fields
    private int[] numberLine;
    private int randomNumber;
    private Random randomGen;


    // Constructor : Initialise number array
    public Numbers()
    {
        numberLine = new int[6];
        randomNumber = 0;
        randomGen = new Random();
    }

    // Method : Generate 6 random numbers in a range 1 to 49
     public void populateArray()
    {
        List<Integer> pool = new ArrayList<Integer>();
        for (int i = 0; i < 49; ++i)
        {
            pool.add(i + 1);
        }
        for (int i = 0; i < 6; ++i)
        {
            randomNumber = randomGen.nextInt(pool.size());
            numberLine[i] = pool.get(randomNumber);
            pool.remove(randomNumber);
        }
    }

    // Method : Sort 6 numbers in ascending order  
    private int[] sortArray()
    {
        Arrays.sort(numberLine);
        return numberLine;
    }

    // Method : Format and display 6 numbers to the screen  
    public void ticket()
    {
        System.out.print("**         ");
        for (int i = 0; i < numberLine.length; i++) 
        {
            if (numberLine[i] < 10) 
            {
                System.out.print(" ");
            }
            System.out.print(numberLine[i] + " ");
        }
        System.out.print("        **\n");
    }
 }

Ticket класс получит numberOfLines от пользователя во время выполнения, затемраспечатайте первую половину лотерейного билета, а затем используйте класс Numbers для генерации и печати случайных чисел, форматирования их, затем распечатайте их на экране и, наконец, напечатайте нижнюю часть билета.

Что мне следуетдействительно, нужно, чтобы массивы из класса Numbers были сохранены в массиве списков в классе Ticket, а затем отформатировали строки и напечатали их из класса Ticket.

Вопрос 1: Как бы я добавил добавление случайных чисел?нумерация строк (массивов) в массив в классе Ticket?

Вопрос 2: Как бы я отформатировал строки, если они находятся в массиве?

1 Ответ

3 голосов
/ 21 января 2012

Чтобы составить список массивов, вы должны объявить список как содержащий массив.

List<int[]> arrs = new ArrayList<int[]>();

Как только вы это сделаете, вам нужно будет использовать два цикла для отображения наборов результатов. Один для перебора массивов в списке и тот, который у вас теперь есть, чтобы напечатать массив чисел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...