判断一天是某年的第几天
public static void main(String[] args) {
Scanner scan = new
Scanner(System.in);
System.out.println("请输入年:");
int year = scan.nextInt();
System.out.println("请输入月:");
int month = scan.nextInt();
System.out.println("请输入日:");
int day = scan.nextInt();
scan.close();
int sum = 0;
if(year<1) {
System.out.println("年输入格式错误。");
return; }
if(month<1||month>12) {
System.out.println("月输入格式错误。");
return; }
boolean leap = false;
if((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0)){
leap = true;
boolean dayFlag = false;
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(day<1||day>31)
dayFlag = true;
break;
case 2:
if(day<1||(leap&&day>29)||(!leap&&day>28))
dayFlag = true;
break;
case 4:
case 6:
case 9:
case 11:
if(day<1||day>30)
dayFlag = true;
break; }
if(dayFlag) {
System.out.println("日输入格式错误。");
return;
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 = 334;break;
sum += day;
if(leap&&month>2) {
sum += 1; }
System.out.println(year+"年"+month+"月"+day+"日是当年的第"+sum+"天。"); }