你的位置:首页 > Java教程

[Java教程]Java程序设计之算出一年第多少天


  可以直接拷贝运行。

package year;import java.util.Scanner;public class year {  public static void main(String[] args) {    // TODO Auto-generated method stub    year y = new year();    y.fun();  }    public void fun(){    String str = shuru();    int year = Integer.parseInt(str.split(" ")[0]);    int month = Integer.parseInt(str.split(" ")[1]);    int day = Integer.parseInt(str.split(" ")[2]);    jisuan(year,month,day);  }    private String shuru(){    System.out.print("输入年月日中间以空格间隔:");    Scanner s = new Scanner(System.in);    return s.nextLine();  }    private void jisuan(int year, int month,int day){    int i = 0;    int j = 0;    //是闰年    if(year%400 == 0||year%4==0&&year%100!=0){      switch(month){      case 12: i+=31;      case 11: i+=30;      case 10: i+=31;      case 9: i+=30;      case 8: i+=31;      case 7: i+=31;      case 6: i+=30;      case 5: i+=31;      case 4: i+=30;      case 3: i+=31;      case 2: i+=28;      case 1: i+=31;      }      if(month == 1||month == 3||month == 5||month == 7||month == 8||month == 10||month == 12){        j = 31 - day;        System.out.println(i-j);      }else if(month == 2){        j = 28 - day;        System.out.println(i-j);      }else{        j = 30 - day;        System.out.println(i - j);      }    }else{      switch(month){      case 12: i+=31;      case 11: i+=30;      case 10: i+=31;      case 9: i+=30;      case 8: i+=31;      case 7: i+=31;      case 6: i+=30;      case 5: i+=31;      case 4: i+=30;      case 3: i+=31;      case 2: i+=29;      case 1: i+=31;      }      if(month == 1||month == 3||month == 5||month == 7||month == 8||month == 10||month == 12){        j = 31 - day;        System.out.println(i-j);      }else if(month == 2){        j = 28 - day;        System.out.println(i-j);      }else{        j = 30 - day;        System.out.println(i - j);      }    }  }}

  比如输入:1994 3 28

  输出:88

  1994年的第88天。