java 输入年月日,计算该日是这一年的第几天

1. 输入年月日,计算该日是这一年的第几天

import java.util.Scanner;
public class shiyan2
{
public static void main(String[] args)
{
int year,month,day,a=0,b=0;
Scanner reader=new Scanner(System.in);
System.out.println("请输入年份");
year=reader.nextInt();
System.out.println("请输入月份");
month=reader.nextInt();
System.out.println("请输入日");
day=reader.nextInt();
for(int i=1;i<month;i++)
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
a=31;
break;
case 2:
if(year%4==0&&year%100!=0||year%400==0)
a=29;
else
a=28;
break;
case 4:
case 6:
case 9:
case 11:
a=30;
break;
}
b=b+a;
}
b=b+day;
System.out.println("这是这一年的第"+b+"天");
}
}

为什么输入2000年2月一日结果是30不是32?错在哪里

第1个回答  2015-03-19
switch(month)  改成 switch(i)

第2个回答  2015-03-19
Calendar cal = Calendar.getInstance();
System.out.println(cal.get(Calendar.DAY_OF_YEAR));
第3个回答  2015-03-19
for(int i=1;i<=month;i++) ,少了等于号把。
第4个回答  2015-03-19
你应该switch(i),而不是switch(month)本回答被提问者和网友采纳
第5个回答  2015-03-19
switch(i) 不然你进去就是选择了29.。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网