用户指定的数组数

时间:2011-12-13 05:33:41

标签: java arrays parameters arraylist

好的,到目前为止编码:

主类

public class Ticket
{
    // Method : Display the ticket details and the list of Lucky Dip numbers to the screen.
    public void displayTicket()
    {        
        numbersClass.populateArray();

        System.out.println("***************************************");
        System.out.println("**                                   **");
        System.out.println("**           Lotto Ticket            **");
        System.out.println("**                                   **");
        System.out.println("***************************************");
        System.out.println("**                                   **");
        numbersClass.ticket();
        System.out.println("**                                   **");
        System.out.println("***************************************");
    }
}

使用Class

public class Numbers
{
    // Fields
    public int[] numberLine;
    public int randomNumber;
    public 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()
    {
        for(int index = 0; index < numberLine.length; index++)
        {
            randomNumber = 1 + randomGen.nextInt(49);
            numberLine[index] = randomNumber;
        }
        Arrays.sort(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 Class上运行displayTicket方法将产生以下结果:

***************************************
**                                   **
**           Lotto Ticket            **
**                                   **
***************************************
**                                   **
**         nn nn nn nn nn nn         **
**                                   **
***************************************

'n'是1到49之间随机生成的数字。

我的问题是如何修改此代码以打印出用户指定数量的随机生成的数字行来生成此代码:

***************************************
**                                   **
**           Lotto Ticket            **
**                                   **
***************************************
**                                   **
**         nn nn nn nn nn nn         **
**         nn nn nn nn nn nn         **
**         nn nn nn nn nn nn         **
**                                   **
***************************************

编辑: 如下所示:

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

应该这样做吗?使用numberOfLines作为displayTicket的参数时。

2 个答案:

答案 0 :(得分:0)

让您的显示票证方法取n(由用户输入)。

运行numbersClass.ticket();在一个for循环n次。

这应该可以解决问题。

答案 1 :(得分:0)

如果你需要记住数组中的数字,那么你可以使用2维数组。否则,只需在生成时进行打印。