You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java switch语句变量赋值后无法调用问题咨询(附代码)

问题分析与解决

你遇到的问题其实是Java的大小写敏感性导致的,这是Java里非常常见的小细节坑!

先看你代码里的关键部分:

String[] sDateIn = jTextField1.getText().split("/"); 
int mDate = Integer.parseInt(sDateIn[0]); 
int dDate = Integer.parseInt(sDateIn[1]); 
int yDate = Integer.parseInt(sDateIn[2]); 
String month; // 这里定义的是小写m的month变量
switch (mDate) { 
    case 1: month = "Jan"; break; 
    case 2: month = "Feb"; break; 
    // ... 其他月份case省略
    default: month = "Dec"; break; 
} 
// 注意这里你写的是大写M的Month!
JOptionPane.showMessageDialog(this, "The converted date is " + Month + " " + dDate + ", " + yDate);

核心问题

Java对变量名的大小写是严格区分的,month和Month是两个完全独立的变量:

  • 你在switch语句里一直给**小写的month**赋值,逻辑本身是没问题的
  • 但弹窗里调用的是大写的Month,这个变量从来没被定义和赋值过,所以编译器会直接报错

解决方法

只需要把弹窗里的Month改成小写的month就可以了,修改后的代码片段:

JOptionPane.showMessageDialog(this, "The converted date is " + month + " " + dDate + ", " + yDate);

这样代码就能正常执行switch的赋值逻辑,输出正确的日期格式啦~

内容的提问来源于stack exchange,提问作者jaxpcdrs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:50:58