java - 这个 For 循环有什么问题?

标签 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;

}

最佳答案

我能看到的错误很少:

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/

相关文章:

java - 如何在 cloudfoundry 或其他地方部署 appfuse?

java - 一旦用户以 Unix 用户身份登录,就可以绕过数据库的密码身份验证吗?

java - 了解 spark 中的 DAG

java - 向现有 java 对象添加方法和值

java - 在servlet中从字节数组创建图像

javascript - 动态添加输入类型

matlab - 如何创建随行索引和数据变化的三角矩阵?

c - 编写一个基本的半金字塔模式程序

c# - LINQ vs foreach vs for性能测试结果

c# - 代码困惑 - 为什么一个有效,而另一个无效?