@Test
public void testBlankPosition()
{
assertEquals(10, sc1.blankPosition(3));
assertEquals(24, sc2.blankPosition(4));
}
所以这给了我11而不是预期的10.我不确定它出了什么问题。它应该返回blankNum要求的空白索引。
public Object blankPosition(int blankNum)
{
int blank = 0;
int count = 0;
int i = 0;
while ( i < sentence.length() && blankNum > blank)
{
if (sentence.charAt(i) != ' ')
{
count++;
i++;
}
else
{
if (sentence.charAt(i) == ' ')
{
count++;
i++;
blank++;
}
}
}
{
return count;
}
}
}
答案 0 :(得分:1)
我认为你应该像这样增强你的代码:
public Object blankPosition(int blankNum) {
int blank = 0;
int i = 0;
while (i < sentence.length()) {
if (sentence.charAt(i) == ' ') {
blank++;
if (blank == blankNum)
return i;
}
i++;
}
return i;
}
它可能会按预期给出正确的结果