我想要计算字符串中的猫和狗,例如: 如果字符串是"cc+dd-cd",我想要计算出 "2 positive cats", "2 positive dogs", "1 negative cat", "1 negative dog"(是的,我知道这种计数方法很奇怪,但这是我任务的一部分)。
我考虑了使用一个for循环来遍历字符串,然后在for循环的内部,我将使用一个while循环,它会一直运行到'-',接着再一直运行到'+'或结束。我开始编写代码,但甚至没有进入程序,就已经导致了无限循环。
问题:我该如何解决这个问题?
谢谢!
我考虑了使用一个for循环来遍历字符串,然后在for循环的内部,我将使用一个while循环,它会一直运行到'-',接着再一直运行到'+'或结束。我开始编写代码,但甚至没有进入程序,就已经导致了无限循环。
问题:我该如何解决这个问题?
谢谢!
string animalparkString = "cc+dd-cd"
for (int k = 0; k != animalparkString.size(); k++)
{
while (k != '-'){
pdc = pdc + 1; //positive dog count
pcc = pcc + 1; //positive cat count
}
while (k != '+') {
ndc = ndc + 1;
ncc = ncc + 1;
}
}
while
循环没有对k
做任何操作,所以如果条件在第一次成立,它将永远成立。此外,该条件本身也没有太多意义,与其检查字符是否等于k
,不如检查它们是否等于animalparkString[k]
。 - Blazek
是一个索引,因此要与'-'
或'+'
进行比较,您应该使用animalparkString[k]
。 - acraig5075