首先要对创建三个变量存储年月日的数据,如下代码:
int year,month,day;
创建Scanner类,将键盘输入的年月日的数据赋值给定义的三个变量;
采用Switch结构对输入的年进行判断是否为闰年,若为闰年则二月有二十九天;
然后再对月份进行判断,最后可以得出输入的年月日在这一年具体的那一天。实现代码如下:
import java.util.Scanner;
//导包
public class Demo16 {
public static void main(String[] args) {
/*
* 使用switch选择结构实现判断某年某月某日是这一年的第几天
*/
Scanner sc=new Scanner(System.in);
System.out.println("请输入年份:");
int year=sc.nextInt();
System.out.println("请输入月份:");
int month=sc.nextInt();
System.out.println("请输入日:");
int day=sc.nextInt();
sc.close();
switch(year%4){
case 0:{
switch(month){
case 1:
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 2:
day=day+31;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 3:
day=day+60;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 4:
day=day+91;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 5:
day=day+121;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 6:
day=day+152;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 7:
day=day+182;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 8:
day=day+213;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 9:
day=day+244;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 10:
day=day+274;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 11:
day=day+305;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 12:
day=day+335;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
}
break;
}
default:{
switch(month){
case 1:
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 2:
day=day+31;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 3:
day=day+59;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 4:
day=day+90;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 5:
day=day+120;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 6:
day=day+151;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 7:
day=day+181;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 8:
day=day+212;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 9:
day=day+243;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 10:
day=day+273;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 11:
day=day+304;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
case 12:
day=day+334;
System.out.println("今天是"+year+"年的第"+day+"天");
break;
}
break;
}
}
}
}