这个For循环有什么问题?

Bre*_*dly 1 java for-loop

我无法让这个程序计算空间,我觉得循环中存在逻辑错误,但我太缺乏经验而无法自己解决.有小费吗?

System.out.print("Enter a string: ");
String myString = keyboard.next();
int numBlanks = 0;

//find string length
int length = myString.length() - 1;
System.out.println("length " + length);

for(int sequence = 0; sequence >= length; ++sequence);
{

    if(myString.charAt(length)==' ')
    {
        numBlanks += 1;
        length -= length;
    }
    else 
        length -= length;

}
Run Code Online (Sandbox Code Playgroud)

cod*_*ict 9

我可以看到很少的错误:

分号结尾处的分号.去掉它.

下一个

sequence >= length
Run Code Online (Sandbox Code Playgroud)

应该

sequence <= length
Run Code Online (Sandbox Code Playgroud)

if(myString.charAt(length)==' ')
Run Code Online (Sandbox Code Playgroud)

应该

if(myString.charAt(sequence)==' ')
Run Code Online (Sandbox Code Playgroud)

你需要改变length,因为你已经在改变sequence.

所以我们得到:

for(int sequence = 0; sequence <= length; ++sequence) {

    if(myString.charAt(sequence)==' ') {
        numBlanks += 1;
    }
}
Run Code Online (Sandbox Code Playgroud)