为什么for循环索引无法正常工作?

时间:2019-10-31 09:15:27

标签: java arrays for-loop while-loop

我正在尝试一种方法,该方法获取分配给String中字符的int值,将它们加起来并返回总计。

由于某些原因,嵌套循环似乎无法正常工作。

>>> a = bytearray('\rHi', 'ascii')
>>> print(dump(a))
bytearray('\x0d\x48\x69')

它适用于单字符字符串,但对于多元素字符串却出现OutOfBounds异常。

例如,对于输入“ AB”:

  • 预期输出为3;

  • 实际输出:java.lang.ArrayIndexOutOfBoundsException:索引2超出长度2的范围。

1 个答案:

答案 0 :(得分:0)

希望这会有所帮助:

h :: Eq a => [((a, a), (a, a))] -> [(a, a)]
h = go []
    where go _ [] = []
          go seen ((t@(x, y), s):xs)
              | notElem x seen && notElem y seen = t : s : go (x:y:seen) xs
              | otherwise = go seen xs

}