可以直接拷贝运行。
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天。