将数组中的每个其他值分配给第二个数组中的相应值

Assigning every other value in array to a corresponding value in a second array

我有两个整数数组:mod 和分数。 score 中的元素需要分配给 mod 中的元素,但从两个开始成对分配。

例如,score 数组中的 10 和 11 在 mod 数组中都等于 0,而 score 中的 1 在 mod 中等于 -5。

如果有人玩龙与地下城,它的系统与能力得分和他们的 modifiers 相同。

这是我的两个数组。

    int[] mod = {-5,-4,-3,-2,-1,0,1,2,3,4,5};
    int[] score = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25};

A HashMap<Integer,Integer 将满足您的需求。

例如:

Map<Integer,Integer> scoreToMod = new HashMap<>();
...
scoreToMod.put(10,0);
scoreToMod.put(11,0);
...
int mod = scoreToMod.get(11); // will return 0

你可以使用整数除法 ScorePosition/2是mod的映射位置。

因此 score 的前两个元素映射到 mid 的第一个 0/2=0 和 1/2=0 对于接下来的两个: 2/2=1 和 3/2=1 所以