Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过用户输入设置java数组长度_Java_Arrays - Fatal编程技术网

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

通过用户输入设置java数组长度,java,arrays,Java,Arrays,如果对象的长度是用户输入的长度,如何初始化对象中的数组?我想通过用户输入设置蝙蝠的数量,并将其设置为数组长度,然后在basesAchieved的数组中,我想根据用户输入设置一个数字(1-4),表示实现的基数 // set up a Batter public class Batter { private String batterName; private int numberOfBats; private int[] basesAchieved; // fil

如果对象的长度是用户输入的长度,如何初始化对象中的数组?我想通过用户输入设置蝙蝠的数量,并将其设置为数组长度,然后在
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;
    }
}

setter
方法中,您应该分配
this.basesAchieved=basesAchieved。如果您想用一个长度初始化basesAchieved,那么只需在您初始化的
Batter
类中:
int[]basesAchieved=new int[yourlength]
,然后调用该类的
setter
方法您在尝试使用int数组的类中遇到一些错误

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

// skipped...

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

public int[] getBasesAchieved()
{
    return basesAchieved;
}
此问题说明如何获取用户输入

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

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

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.