通过用户输入设置java数组长度

时间:2017-05-07 00:37:35

标签: java arrays

如何在一个长度是用户输入长度的对象中初始化一个数组?我想通过用户输入设置bat数量,并使数组长度,然后在basesAchieved数组内,我想根据用户输入(1-4)设置一个数字,代表实现的基数。

// set up a Batter
public class Batter
{
    private String batterName;
    private int numberOfBats;
    private int[] basesAchieved;

    // fill fields with empty data, how is this done with an array??
    public Batter()
    {
        this("", 0,0);
    }

    //
    public Batter(String batterName, int numberOfBats, int[] basesAchieved)
    {
        this.batterName = batterName;
        this.numberOfBats = numberOfBats;
        this.basesAchieved = basesAchieved;
    }

    public void setBatterName(String batterName)
    {
        this.batterName = batterName;
    }

    public String getBatterName()
    {
        return batterName;
    }

    public void setNumberOfBats(int numberOfBats)
    {
        this.numberOfBats = numberOfBats;
    }

    public int getNumberOfBats()
    {
        return numberOfBats;
    }

    // want to set an array to get a number (1-4) for each number of @ bats     
    // (numberOfBats). 
    public void setBasesAchieved(int[] basesAchieved)
    {
        this.basesAchieved = ;
    }

    public int getBasesAchieved()
    {
        return basesAchieved;
    }
}

2 个答案:

答案 0 :(得分:0)

setter方法中,您应该指定this.basesAchieved = basesAchieved;。如果你想用一个长度初始化basesAchieved,那么在你初始化int[] basesAchieved = new int[yourlength]类的类中只需:Batter,然后调用这个类的setter方法

答案 1 :(得分:0)

在您尝试使用int数组的类中有一些错误。

public Batter()
{
    this("", 0, new int[0]);
}

// skipped...

public void setBasesAchieved(int[] basesAchieved)
{
    this.basesAchieved = basesAchieved;
}

public int[] getBasesAchieved()
{
    return basesAchieved;
}

此问题解释了如何获取用户输入How can I get the user input in Java?

  

最简单的方法之一是使用Scanner对象,如下所示:

Scanner reader = new Scanner(System.in);  // Reading from System.in
System.out.println("Enter a number: ");
int n = reader.nextInt(); // Scans the next token of the input as an int.

您可以使用此方法读取numberOfBats的数量,并使用正确的数组长度创建对象。然后,您可以不断询问用户输入并将其放入basesAchieved数组中。或者您可以先向读者询问所有输入,然后创建对象。