所以我的代码试图查找一个字符串是否与另一个目标字符串相似(目标已定义)。它根据两个字符串中相似的字母数量进行评分。但是,在我的 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/