[英]Why am I getting a “cannot find symbol” error in my java program when I compile?
我试图在代码末尾返回布尔变量localFound的值,但是在编译时,出现一个错误,提示它找不到符号。 我知道这是一个涉及变量范围的错误,但我不知道如何解决。 如何获得程序以返回正确的值? 谢谢。
public static boolean addIfNotEmpty(DvdTreeNode root, String movieToCommand) {
if (root == null) {
return false;
}
addIfNotEmpty(root.getRight(), movieToCommand);
if (root.getItem().getTitle().equalsIgnoreCase(movieToCommand)) {
root.getItem().addCopy();
System.out.println("You have added another copy of \""
+ movieToCommand
+ "\" to the inventory.");
boolean localFound;
localFound = true;
}
addIfNotEmpty(root.getLeft(), movieToCommand);
return localFound;
} // end addIfNotEmpty
您的return
语句范围内未定义localFound
。 它仅存在于您的if
语句中。
将声明移至if
语句之外,并将其初始化为某个默认值,例如false
。
localFound变量在if语句内声明,因此在该语句外不可见。 尝试在if语句之前(在其外部)声明它,然后即可编译代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.