你有没有发现,你的switch只有被执行了一次,而且是在for循环之前,此时month=1。后面的for只是做了把那个已经算好,并且不会再改变的numDays输出12遍而已

解决方案 »

  1.   

    java.util.Calendar可以做到大部分和日历有关的工作Calendar c = Calendar.getInstance();
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH) - Calendar.JANUARY + 1;
    int day = c.get(Calendar.DATE);
    ...................
      

  2.   

    同意 shine333
    循环输出的时候,numDays的值没有发生变化...
      

  3.   

    TO:  yesjoy (卫卫) 你的代码只是动了for的位置!public class aa{
    public static void main(String[] args) {
    //该程序是求不同年的月份天数
    //核心处理是判断闰年2月份的天数
    byte month=1;
    int year=2004;
    byte numDays=0;
    //下面希望通过日期类方法或属性(其他方法也行)来计算
    //当前系统的年份值(现在应该是2004年噢)并附给变量year
    //<求助中……>
             //******************************************************************
    for(month=1;month<=12;month++)//************************************
    {

    switch(month)
    {
    case 1: case 3: case 5: case 7: case 8: case 10: case 12:
    numDays=31;
    break;
    case 4: case 6: case 9: case 11:
    numDays=30;
    break;
    case 2:
    //求闰年的算法,能被4整除但不能被400整除
    //或者能被400整除
    if(((year%4==0)&&(year%400!=0))||(year%400==0)){
    //闰年的2月份是29天
    numDays=29;
    System.out.println("今年是:"+year+"年,"+"它是闰年!");
    }
    else{
    numDays=28;
    System.out.println("今年是:"+year+"年,"+"它是平年!");
    }
    break;
    }//case end

    System.out.println(month+"月份的天数="+numDays);
    }
      }//main end.
    }//SwitchDemo end.
      

  4.   

    终于知道什么是高手了
    哈哈非常happy啊
    我终于明白错在哪里了
    非常感谢楼上各位的帮助呀还有有时候我写代码的时候
    不是很清楚到底应该引入哪些类和包
    难道只有编译错误了我才知道要引入哪些包吗?
    还是因为如果我写的程序多多以后才知道需要引入哪些包呀
    另外对于java中的包结构和分类还很模糊
    不知道哪里可以查到这方面的资料
      

  5.   

    我的程序已经成功运行好happy啊
    在此多谢楼上几位的帮助啊
    to shine333(enihs):多谢你的提醒还有你给出的求日期的那些代码,让我一目了然啊,我也明白问题出在什么地方了
    to sbojuqqk(小猪快跑!) :也非常感谢你给出的完整代码(好象少了引入包噢
    import java.util.Calendar;),你的代码让我明白了System.out.println(month+"月份的天数="+numDays);应该放在swich语句外面 呵呵
    下面给出运行结果(我改了一点点)
    D:\JavaProgramming>javac SwitchDemo.javaD:\JavaProgramming>java SwitchDemo
    2004
    1月份的天数=31
    今年是:2004年,它是闰年!
    2月份的天数=29
    3月份的天数=31
    4月份的天数=30
    5月份的天数=31
    6月份的天数=30
    7月份的天数=31
    8月份的天数=31
    9月份的天数=30
    10月份的天数=31
    11月份的天数=30
    12月份的天数=31