可以跟踪我在字符串中的位置,空白和停止循环的方法

时间:2016-03-24 02:47:03

标签: java

@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;
}
}

}

1 个答案:

答案 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;
        }

它可能会按预期给出正确的结果