我无法让这个程序计算空格,我感觉循环中存在逻辑错误,但我太缺乏经验无法自己解决。有什么建议吗?
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;
}
最佳答案
我能看到的错误很少:
for 循环结束时的分号。将其删除。
下一步
sequence >= length
应该是
sequence <= length
和
if(myString.charAt(length)==' ')
应该是
if(myString.charAt(sequence)==' ')
并且您需要完全更改 length
,因为您已经在更改 sequence
。
所以我们得到:
for(int sequence = 0; sequence <= length; ++sequence) {
if(myString.charAt(sequence)==' ') {
numBlanks += 1;
}
}
关于java - 这个 For 循环有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3798342/