輸入年月日,輸出這個日期是該年的第幾天,java語言,switch-case實現
阿新 • • 發佈:2019-01-02
充分利用switch-case 中break的特性,更方便的求出天數。
要點: 月份倒著寫,並且每個case 不要新增break;那麼,程式就會一直往下執行,直到month=1,進而求出了總的天數。
以下是原始碼:
package third;
import java.util.Scanner;
public class dataRequire {
static int require(int month, int day, boolean f){ int sum=0; switch (month-1) { case 11: sum = sum +30; case 10: sum = sum +31; case 9: sum = sum +30; case 8: sum = sum +31; case 7: sum = sum +31; case 6: sum = sum +30; case 5: sum = sum +31; case 4: sum = sum +30; case 3: sum = sum +31; case 2: {if ( f) sum = sum +28; else sum = sum +29; } case 1: sum = sum +31; break; } return sum+day ; } public static void main(String[] args) { // TODO Auto-generated method stub int year, day, month; boolean f =false; System.out.println("請輸入年月日:"); Scanner sc = new Scanner(System.in); year = sc.nextInt(); month = sc.nextInt(); day = sc.nextInt(); if ( year %4 ==0 && year%100!=0 || year%400 ==0) f = true; int sum = require(month,day, f); System.out.println("是第"+sum+"天"); }
}