java - 将数组添加到 ArrayList

标签 java arrays iterator arraylist

我正在尝试制作一种幸运抽奖乐透号码生成器。目前,代码将产生所需的结果,但我真的很想将数组放在数组列表中。到目前为止,这是我的代码:

机票等级:

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("***************************************");

    }
}

数字类:

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:如果行在数组列表中,我该如何格式化它们?

最佳答案

要创建一个数组列表,您需要将列表声明为包含一个数组。

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

完成后,您将需要使用两个循环来显示结果集。一种用于遍历列表中的数组,另一种用于打印数字数组。

关于java - 将数组添加到 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8954112/

相关文章:

java - 如果不存在重复值,则将类/对象添加到数组列表

Java Camel FTP 上传

php - 插入大量表 MySQL 的优雅高效方式

c++ - STL map 迭代器复制问题

java - 如何将图像转换为字符串以将其读/写到 SQLite 数据库 - Android Studio (Java)

java - Spring Bean 属性上的 JSR-303 注解

arrays - Swift 数组行为

c++ - 以整数数组为参数并返回数组中奇数之和的函数

python - 需要从 python 列表中找到子元素

java - 迭代Java时从数组中删除对象