java中的switch语句的问题
publicclassAAA{publicstaticvoidmain(Stringargs[]){intmonth=4;Stringseason;switch(mont...
public class AAA
{
public static void main(String args[])
{
int month=4;
String season;
switch (month)
{
case 1:
case 2:
case 12:
season="Winter";
break;
case 3:
case 4:
case 5:
season="Spring";
break;
case 6:
case 7:
case 8:
season="Summer";
break;
case 9:
case 10:
case 11:
season="Autumn";
break;
}
System.out.println("是"+season+".");
怎么总提示“可能尚未初始化变量season”??请各位高手指教 展开
{
public static void main(String args[])
{
int month=4;
String season;
switch (month)
{
case 1:
case 2:
case 12:
season="Winter";
break;
case 3:
case 4:
case 5:
season="Spring";
break;
case 6:
case 7:
case 8:
season="Summer";
break;
case 9:
case 10:
case 11:
season="Autumn";
break;
}
System.out.println("是"+season+".");
怎么总提示“可能尚未初始化变量season”??请各位高手指教 展开
4个回答
展开全部
很明显,说明你变量season未初始化就使用了该变量。
从你的switch上来说,因为编辑器不会去解释你代码的逻辑,虽然你的整个代
码的逻辑可以很明显看出season一定会进行初始化,但编辑器不会去分析你的逻
辑是怎么样的。
如果编辑器会去分析你的逻辑,你想想呀,当你把变量month=100或者其它更
复杂的算法时,那编辑器还得执行一下才知道你season是不是已经初始化,这肯
定是不符合逻辑的。
所以,解决办法就是你需要给你的season初始化一个值,season=null或者其它
的一个默认值也可以,当然,你同样也可以将season定义为全局变量,你就不用
进行初始化,因为它将默认为NULL.
多看看JAVA基础方面的知识吧。你定义一个String season; 这个指针是没有指
向任何一个地址的。
从你的switch上来说,因为编辑器不会去解释你代码的逻辑,虽然你的整个代
码的逻辑可以很明显看出season一定会进行初始化,但编辑器不会去分析你的逻
辑是怎么样的。
如果编辑器会去分析你的逻辑,你想想呀,当你把变量month=100或者其它更
复杂的算法时,那编辑器还得执行一下才知道你season是不是已经初始化,这肯
定是不符合逻辑的。
所以,解决办法就是你需要给你的season初始化一个值,season=null或者其它
的一个默认值也可以,当然,你同样也可以将season定义为全局变量,你就不用
进行初始化,因为它将默认为NULL.
多看看JAVA基础方面的知识吧。你定义一个String season; 这个指针是没有指
向任何一个地址的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你没有给season赋初始值,switch语句中的case不覆盖所有情况,如果你给13,season就为null了。这个是程序的一种检查,如果你不想看到这个提示,加一个default就可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String season="";
类变量需要初始化,全局变量不用
类变量需要初始化,全局变量不用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义session的时候这样写:
String session = "";
String session = "";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询