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