当前位置: 代码迷 >> Java相关 >> 请教myeclipse这样提示异常是什么意思
  详细解决方案

请教myeclipse这样提示异常是什么意思

热度:1035   发布时间:2013-02-25 21:46:31.0
请问myeclipse这样提示错误是什么意思?
//开始switch语句结构
  int jinqian;
switch (num){
case 1:
System.out.println("成功换购:"+no1 );
jinqian=2;
break;
case 2:
System.out.println("成功换购:"+no2 );
jinqian=3;
break;
case 3:
System.out.println("成功换购:"+no3 );
jinqian=10;
break;
case 4:
System.out.println("成功换购:"+no4 );
jinqian=20;
break;
case 5:
System.out.println("成功换购:"+no5 );
jinqian=20;
break;
case 0:
System.out.println("不换购" );
jinqian=0;
break;
default:
System.out.println("请输入0~5之间的数字!");
break;
}

System.out.println("本次消费金额:" +(money+jinqian));
提示我jinqian尚未初始化,我就搞不明白了,已经声明过了吧……
注意,以下内容是嵌套IF结构中的语句,只是一部分,no1~no5没问题

------解决方案--------------------------------------------------------
局部变量使用前必须初始化,你的switch最后default里面没有给它赋值,这样就导致了如果num为6等情况会导致jinqian没有赋值,所以编译器报错。
------解决方案--------------------------------------------------------
探讨
引用:
局部变量使用前必须初始化,你的switch最后default里面没有给它赋值,这样就导致了如果num为6等情况会导致jinqian没有赋值,所以编译器报错。

初始化的意思是?
请问我这样更改后就可以了{int jinqian=0;}这算初始化不?

------解决方案--------------------------------------------------------
定义局部变量要有赋初始值的习惯 比如
int a = 0
String b=""
HashMap hm=null
等等
  相关解决方案