如何修复此代码,以便不再出错。我得到的错误是致命错误:数组索引超出范围。代码检查字符串中有多少“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/