我无法让这个程序计算空间,我觉得循环中存在逻辑错误,但我太缺乏经验而无法自己解决.有小费吗?
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)
我可以看到很少的错误:
分号结尾处的分号.去掉它.
下一个
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)