如何修复此代码,以便不再出错。我得到的错误是致命错误:数组索引超出范围。代码检查字符串中有多少“x”和“o”

var input = "xxxoxoooxoxo"

var inputString = Array(input.characters)

var XString = ""

var OString = ""

for var i = 0; i <= inputString.count; ++i {

    if inputString[i] == "x" {

        XString.append(inputString[i])

    }

    else if inputString[i] == "o" {

        OString.append(inputString[i])

    }

}

if XString.characters.count == OString.characters.count {

    print("equal")

}

else {

    print("Not Equal")

}

谢谢你的帮助。

最佳答案

替换这个

for var i = 0; i <= inputString.count; ++i

有了这个:
for var i = 0; i < inputString.count; ++i

数组是零索引的。这意味着第一个元素的索引为0。第二个元素有索引1。... 。最后一个元素具有索引array.count-1

关于arrays - 快速致命错误:数组索引超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36111004/

10-09 14:12