首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

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

2012-05-01 
请问myeclipse这样提示错误是什么意思?//开始switch语句结构int jinqianswitch (num){case 1:System.out.

请问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
等等

热点排行