为了账号安全,请及时绑定邮箱和手机立即绑定

请教大家我这段代码是什么问题?谢谢大家(输入一个月份,输出季节)

请教大家我这段代码是什么问题?谢谢大家(输入一个月份,输出季节)

宝慕林5339449 2018-03-26 11:49:03
import java.util.Scanner;public class Demo8 {public static void main(String[] args) { // TODO Auto-generated method stub     Scanner scanner=new Scanner(System.in);     System.out.println("请输入月份");     int mon = scanner.nextInt();      String sea;                               switch(mon){     case 1:     case 2:     case 12:    sea ="winter";     break;          case 3:     case 4:     case 5:    sea="spring";     break;         case 6:    case 7:    case 8:    sea="summer";     break;         case 9:     case 10:     case 11:    sea="autumn";          default:          System.out.println("月份错误");     }     System.out.println(sea); }}结果如下:Exception in thread "main" java.lang.Error: Unresolved compilation problem:  The local variable sea may not have been initialized at Demo8.main(Demo8.java:37)
查看完整描述

3 回答

?
HOTLINE

TA贡献33条经验 获得超23个赞

sea没有赋值

查看完整回答
3 反对 回复 2018-03-26
?
产品经理不是经理

TA贡献481条经验 获得超143个赞

sea没有初始化。

查看完整回答
2 反对 回复 2018-03-26
?
慕无忌5022713

TA贡献1条经验 获得超1个赞

要这样改, String sea;  改成Sring sea = null;这个是main,不能String sea; 赋值

查看完整回答
1 反对 回复 2018-03-26
?
onemoo

TA贡献883条经验 获得超454个赞

sea 一开始没有初始化问题不大,因为在每个 case 中你都赋予了它相应的对象。

但是! 在 default 中你没有为 sea 赋值。 那么在月份错误的情况下,println(sea); 就访问了未初始化的 sea 变量。

查看完整回答
1 反对 回复 2018-03-26
  • 3 回答
  • 1 关注
  • 1908 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信