Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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 如何为以下场景声明2d数组?_Java_Arrays_Multidimensional Array - Fatal编程技术网

Java 如何为以下场景声明2d数组?

Java 如何为以下场景声明2d数组?,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我的程序要求玩家数量,并将输入捕获为整数。现在,对于每个玩家,系统会询问用户需要击球多少次。用户可以输入任何整数。对于每一次击球,我都需要记录得分,以便以后计算击球平均数和击球平均数 现在我需要将其存储在2d数组中。 球员#1击球3次,得0分、1分、4分。球员2次击球5次,得1分、1分、0分、3分、4分 {0, 1, 4} {1, 1, 0, 3, 4} 我正在努力研究如何创建这样一个数组。java中的多维数组只是一个数组,其中每个元素也是一个数组(依此类推)。这些阵列中的每一个都可以具有不同

我的程序要求玩家数量,并将输入捕获为整数。现在,对于每个玩家,系统会询问用户需要击球多少次。用户可以输入任何整数。对于每一次击球,我都需要记录得分,以便以后计算击球平均数和击球平均数

现在我需要将其存储在2d数组中。 球员#1击球3次,得0分、1分、4分。球员2次击球5次,得1分、1分、0分、3分、4分

{0, 1, 4}
{1, 1, 0, 3, 4}

我正在努力研究如何创建这样一个数组。

java中的多维数组只是一个数组,其中每个元素也是一个数组(依此类推)。这些阵列中的每一个都可以具有不同的长度:

    int numPlayers = // get number of players.
    int[][] stuff = new int[numPlayers][];
    for(int i = 0; i < numPlayers; i++)
    {
        int numAtBats = // get number of at bats for this player.
        stuff[i] = new int[numAtBats];
    }
int numPlayers=//获取玩家数量。
int[][]stuff=新int[numPlayers][];
for(int i=0;i
您必须使用数组吗?下面使用
Collection
s的方法更灵活

HashMap<Integer, List<Integer>> scoreCard = new HashMap<>();

scoreCard.put(1, Arrays.asList(0,1,4));
scoreCard.put(2, Arrays.asList(1,1,0,3,4));
如果要计算给定球员的击球平均数:

List<Integer> scores = scoreCard.get(playerId);
scores.stream().reduce(0, Integer::sum)/scores.size();
List scores=scoreCard.get(playerId);
scores.stream().reduce(0,Integer::sum)/scores.size();

等等。

对于可变长度的
列表
请尝试使用
数组列表
对象。非常感谢。我不知道我可以在一个数组中一次处理一个数组。这真的很有用这看起来很优雅。但我的导师要求我们使用数组。非常感谢。
List<Integer> scores = scoreCard.get(playerId);
scores.stream().reduce(0, Integer::sum)/scores.size();