我经常面对"Cannot find symbol",如何避免呢?
I frequently face "Cannot find symbol", how to avoid it?
import java.util.Scanner;
public class MainFile {
public static void main(String[] args) {
do {
Scanner asc = new Scanner(System.in);
String userTXT = asc.nextLine();
} while(userTXT != "Twitter!");
}
}
代码很简单。然而,Cannot find symbol
对应 userTXT
。
欢迎任何避免此类错误的提示!
这是因为您没有在 while 循环中可以看到的范围内定义或初始化 userTXT
。
您在 while
循环的范围内定义了它,它看不到其中定义的变量,因为 while
循环和变量不在同一范围内 ({}
).
也许试试这个:
import java.util.Scanner;
public class MainFile {
public static void main(String[] args) {
String userTXT = ""; // define it here (not necessarily with "" though)
do {
Scanner asc = new Scanner(System.in);
userTXT = asc.nextLine();
} while(!userTXT.equals("Twitter!"));
}
}
此外,在比较 Java 中的字符串时,您应该使用 .equals()
而不是 !=
。
import java.util.Scanner;
public class MainFile {
public static void main(String[] args) {
do {
Scanner asc = new Scanner(System.in);
String userTXT = asc.nextLine();
} while(userTXT != "Twitter!");
}
}
代码很简单。然而,Cannot find symbol
对应 userTXT
。
欢迎任何避免此类错误的提示!
这是因为您没有在 while 循环中可以看到的范围内定义或初始化 userTXT
。
您在 while
循环的范围内定义了它,它看不到其中定义的变量,因为 while
循环和变量不在同一范围内 ({}
).
也许试试这个:
import java.util.Scanner;
public class MainFile {
public static void main(String[] args) {
String userTXT = ""; // define it here (not necessarily with "" though)
do {
Scanner asc = new Scanner(System.in);
userTXT = asc.nextLine();
} while(!userTXT.equals("Twitter!"));
}
}
此外,在比较 Java 中的字符串时,您应该使用 .equals()
而不是 !=
。