Java &引用;变量";不能解析为变量

Java &引用;变量";不能解析为变量,java,arrays,linked-list,Java,Arrays,Linked List,我试图将第二条if语句放在loop语句和第一条if语句中,它一直说“exists”不能解析为变量:( import java.util.*; 公共类MT_Assign2_电话簿_链接列表{ 公共静态void main(字符串[]args){ LinkedList AddEntry_list=新建LinkedList();//名字和姓氏 LinkedList Number_list=新建LinkedList();//电话号码 字符串firstname,lastname; 字符串phonenum;

我试图将第二条if语句放在loop语句和第一条if语句中,它一直说“exists”不能解析为变量:(

import java.util.*;
公共类MT_Assign2_电话簿_链接列表{
公共静态void main(字符串[]args){
LinkedList AddEntry_list=新建LinkedList();//名字和姓氏
LinkedList Number_list=新建LinkedList();//电话号码
字符串firstname,lastname;
字符串phonenum;
扫描仪输入=新扫描仪(System.in);
System.out.println(“主菜单”);
System.out.println(“1=添加电话簿条目”);
System.out.println(“2=删除电话簿条目”);
System.out.println(“3=查看所有条目”);
System.out.println(“4=搜索条目”);
System.out.println(“5=退出”);
//输入用户的选择
System.out.print(“\n请选择您的选项:”);
int choice=input.nextInt();
如果(选项==1){
System.out.println();
System.out.println(“您选择添加电话簿条目”);
//.通过验证获取(记录用户输入的数据)

对于(int-database_-pb=0;database_-pb范围规则是解释

任何给定变量都在某个地方声明。请查找大括号(
{
}
)的“相关”批。您已命令此变量存在于该范围内。其他任何地方都不存在

“相关”批始终是最接近的包含批,参数除外,参数本身就是方法定义。简单

所以,你有这个街区:

{
  System.out.println ("\n  ERROR OCCURED: PHONEBOOK ENTRY ALREADY EXIST!\n  END OF PROGRAM");
  System.exit(0);
  boolean exists = true; //validate
}                        
这就是您的
存在的地方
变量存在(heh),而不是其他地方


注意:该代码块是胡说八道。您在退出程序时会显示一条错误消息,然后说:“exists=true”??这毫无意义。

我已经删除了系统。退出(0);它仍然“exists”无法解析为变量。@elskerdeg此答案准确地解释了原因,然后作为旁注,提到除了问题之外,您的代码也很奇怪。您似乎忽略了问题并将重点放在旁注上。请查看完整答案。