java - 错误: Cannot Find Symbol from for loop

标签 java

所以我的代码试图查找一个字符串是否与另一个目标字符串相似(目标已定义)。它根据两个字符串中相似的字母数量进行评分。但是,在我的 for 循环中,我收到用于定义 tChar 的 m 的“找不到符号”错误,但它已用于定义 iChar...我很困惑。有更好的方法吗?

public int score(String input){
    int score;
    char iChar, tChar;
    for (int m=0;m<input.length();++m)
        iChar = input.charAt(m);
        tChar = target.charAt(m);
        if (iChar == tChar)
            score = score + 1;
        else
            score = score;
    return score;
}

最佳答案

for (int m=0;m<input.length();++m) 
    iChar = input.charAt(m);  // Only this statement come under loop.

如果您不使用 {},则 m 的范围仅适用于 for 循环之后的第一个语句中。因此,后面的语句不属于 for 循环。相反,你需要做 -

for (int m=0;m<input.length();++m)  // Now m is block scoped
{
        iChar = input.charAt(m);
        tChar = target.charAt(m);
        if (iChar == tChar)
            score = score + 1;
        else
            score = score;   // I don't see any use of else at all
}

关于java - 错误: Cannot Find Symbol from for loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7707270/

相关文章:

java - 随机欧拉代码

java - @HackerRank : FlippingBits. 输出错误

java - hibernate中的JPA bigdecimal问题

java - Java中有多少个字符串对象?

java - Struts 2 和 Hibernate 中的异常处理

Java:如何使用循环创建字符串而不打印?

java - 多个线程的并行执行和终止

java - 如何在 Android 中将数据从一个 Activity/Screen 检索到另一个 Activity/Screen?

java - 从电话号码中删除括号、破折号和空格

java - 使用 Java 中的 MIDI 设备编写程序