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); ...................
同意 shine333 循环输出的时候,numDays的值没有发生变化...
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
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) - Calendar.JANUARY + 1;
int day = c.get(Calendar.DATE);
...................
循环输出的时候,numDays的值没有发生变化...
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.
哈哈非常happy啊
我终于明白错在哪里了
非常感谢楼上各位的帮助呀还有有时候我写代码的时候
不是很清楚到底应该引入哪些类和包
难道只有编译错误了我才知道要引入哪些包吗?
还是因为如果我写的程序多多以后才知道需要引入哪些包呀
另外对于java中的包结构和分类还很模糊
不知道哪里可以查到这方面的资料
在此多谢楼上几位的帮助啊
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