繁体   English   中英

编译时,为什么在Java程序中出现“找不到符号”错误?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM