一个用到switch...case语句中break下滑的小应用
题目:计算今天是这一年当中的第几天。编程实现
import java.util.Scanner; public class Day{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("please input mouth:"); int m = sc.nextInt(); System.out.println("please input day:"); int d = sc.nextInt(); int n = 0; switch(m){ case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: n = (m-1)*30+d; System.out.println("It's "+n+"th days now!"); break; default: System.out.println("Please enter the correct month!!!!!!!!!!"); break; } } } 运行结果:现在发一个改进版,可以考虑是否为闰年还有31天和不是31天的日期,代码如下:
import java.util.Scanner; public class Day{ public static void main(String[] args){ Days days =new Days(); days.inputDays(); } } class Days{ public void inputDays(){ while(true){ 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(); int d =0; if (year > 0 && month > 0 && month < 13 && day > 0 && day < 32){ for (int i = 0; i < month; i++) { switch (i) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: d+=31; break; case 4: case 6: case 9: case 11: d+=30; break; case 2: d+=28; break; } } d+=day; if(year%4==0&&year0!=0){ d++; System.out.println(year+"年"+month+"月"+day+"日是这一年的第"+d+"天。"); System.exit(0); }else if(year@0==0){ d++; System.out.println(year+"年"+month+"月"+day+"日是这一年的第"+d+"天。"); System.exit(0); }else{ System.out.println(year+"年"+month+"月"+day+"日是这一年的第"+d+"天。"); System.exit(0); } }else { System.out.println("请输入正确的年月日!"); } } } }运行结果为: