Java 错误:无法从for循环中找到符号
因此,我的代码试图找出一个字符串是否与另一个目标字符串(目标已定义)相似。它根据两个字符串中有多少字母相似来评分。然而,在我的for循环中,我得到了一个用于定义tChar的m的找不到符号错误,但是它被用来定义iChar。。。我很困惑。有更好的方法吗Java 错误:无法从for循环中找到符号,java,Java,因此,我的代码试图找出一个字符串是否与另一个目标字符串(目标已定义)相似。它根据两个字符串中有多少字母相似来评分。然而,在我的for循环中,我得到了一个用于定义tChar的m的找不到符号错误,但是它被用来定义iChar。。。我很困惑。有更好的方法吗 public int score(String input){ int score; char iChar, tChar; for (int m=0;m<input.length();++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您需要在for循环周围放置大括号。此时for循环正在反复执行iChar行,然后当它退出并到达tChar行时,变量m超出范围,因此无法找到
修复后的代码如下所示
public int score(String input) {
int score = 0; //i know java instantiates variables for you, but if you do it explicitly, it serves to document your code.
char iChar, tChar;
for (int m = 0; m < input.length(); m++) {
iChar = input.charAt(m);
tChar = target.charAt(m);
if (iChar == tChar) score++; //abbreviated and else clause removed, as it was doing nothing.
}
return score;
}
公共整数分数(字符串输入){
int score=0;//我知道java会为您实例化变量,但如果您显式地这样做,它将用于记录代码。
查伊查尔,特查尔;
对于(int m=0;m
我没有想到……谢谢!
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
}
public int score(String input) {
int score = 0; //i know java instantiates variables for you, but if you do it explicitly, it serves to document your code.
char iChar, tChar;
for (int m = 0; m < input.length(); m++) {
iChar = input.charAt(m);
tChar = target.charAt(m);
if (iChar == tChar) score++; //abbreviated and else clause removed, as it was doing nothing.
}
return score;
}