【问题标题】:Assigning every other value in array to a corresponding value in a second array将数组中的每个其他值分配给第二个数组中的相应值
【发布时间】:2015-07-16 05:51:21
【问题描述】:

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

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

如果有人玩龙与地下城,其系统与属性值及其修饰符相同。

这是我的两个数组。

    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};

【问题讨论】:

  • 总是 2:1 还是有时会是 3:1 或 4:1?
  • 你为什么不使用Map<Integer, Integer>
  • @Payton Mock 请张贴,到目前为止你所尝试的。
  • 什么会映射到 mod 中的 -4?我很困惑,因为如果我成对查看score,9 和 10 都会映射到 -1,但你说 10 会映射到 0。

标签: java arrays int assign


【解决方案1】:

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

【讨论】:

  • WOW 甚至没有想到使用 HashMap。谢谢。
【解决方案2】:

您可以使用整数除法 ScorePosition/2 是模组的映射位置。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    相关资源
    最近更新 更多