java 程序为什么是这样,哪里的问题求大神指点
import java.util.*;
public class year {
public static void main(String[] args)
{
int year, month, day, sum,leap;
Scanner in=new Scanner(System.in);
System.out.print("Enter year,month,day:");
year=in.nextInt();
month=in.nextInt();
day=in.nextInt();
if (month < 0 || month > 12 || day < 0 || day > 31)
{
System.out.println("输入格式错误,请重新输入!!!");
}
switch(month)/*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=335;break;
}
sum=+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
System.out.printf("%d\n",sum);
}
}
输出的结果为什么会这样????
Enter year,month,day:2016,1,3
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at year.main(year.java:14)