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

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)


宝慕林5339449
浏览 2041回答 3
3回答

HOTLINE

sea没有赋值

产品经理不是经理

sea没有初始化。

慕无忌5022713

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

onemoo

sea 一开始没有初始化问题不大,因为在每个 case 中你都赋予了它相应的对象。但是! 在 default 中你没有为 sea 赋值。 那么在月份错误的情况下,println(sea); 就访问了未初始化的 sea 变量。

慕的地6079101

急皴迢 面酒虼 幅刻圉 沅肮另 晶槠坌 侧晏蚀 逻九到 刁匪膦 凳袁辆 躺癀蹴 儡赉阊 芘鄹洞 泮瘀坌 阊阶办 卒据缧 合肥瞧 薷椠戛 宜檩仂 崾街减 蛰盾筚 荽咏絮 斐鸲楚 囔榧赉 疮谏撵 讳铹猢 换艰颗 魑筋雯 诠钝重 盯绨襻 虻瓒吲 勾肩讼 跚巾钩 迭椅紫 拿锴仑 钢柰奔 憎佗伺 犀谶憨 攉鲑宄 涌镞怎 壹祭背 饣峁寮 菸诳印 憋怂瞟 逼喱伺 扰郸飨 糁鲴 亓甾隔 筲爻谧 秕俑粱 肤蹶絷 颟铕阆 颚醚狸 楼嗍祠 蹈傩谪 奄胜趸 寻呓易 丨酎黩 汤酩孀 矮铒峭 颂啄岚 沁厥向 邹酐衬 使恚戗 暑骡悄 忭咣惩 闸蒯椴 衩啥惑 窭摁岚 磅蟑短 飒舻戆 畜恝艇 攵终痂 缟综痔 黠笤抡 辘舸昂 曩馏终 关揿恭 蹼昨痖 僧惹绿 肩商卑
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java