华中科技大学 打印日期(java)

题目描述
给出年分m和一年中的第n天,算出第n天是几月几号。
输入描述:
输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。
输出描述:
可能有多组测试数据,对于每组数据,
按 yyyy-mm-dd的格式将输入中对应的日期打印出来。
示例1
输入
复制
2000 3
2000 31
2000 40
2000 60
2000 61
2001 60
输出
复制
2000-01-03
2000-01-31
2000-02-09
2000-02-29
2000-03-01
2001-03-01
import java.util.*;
import java.io.*;
import java.math.*;
import java.text.* ;
public class Main
{
	public static void main(String[] args) {
	    try {
	        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	        String str;
	        while((str = br.readLine()) != null) {
	        	String[] parts = str.split(" ");
	        	int year = Integer.parseInt(parts[0]);
	        	int days = Integer.parseInt(parts[1]);
	        	printDate(year, days);
	        }
	        	
	    } catch(IOException e) {
	    	e.printStackTrace();
	    }
	}
	public static void printDate(int year, int days) {
		StringBuilder s = new StringBuilder();
		s.append(year);
		s.append("-");
		int day = 0;
		if((year%4==0&&year%100!=0)||year%400==0) {
			if(days>0&&days<=31) {
				s.append("01-");
				day = days;	
			}
			else if(days<=60) {
				s.append("02-");
				day = days-31;	
			}
			else if(days<=91) {
				s.append("03-");
				day = days-60;	
			}
			else if(days<=121) {
				s.append("04-");
				day = days-91;	
			}
			else if(days<=152) {
				s.append("05-");
				day = days-121;					
			}
			else if(days<=182) {
				s.append("06-");
				day = days-152;					
			}
			else if(days<=213) {
				s.append("07-");
				day = days-182;					
			}
			else if(days<=244) {
				s.append("08-");
				day = days-213;					
			}
			else if(days<=274) {
				s.append("09-");
				day = days-244;					
			}			
			else if(days<=305) {
				s.append("10-");
				day = days-274;					
			}
			else if(days<=335) {
				s.append("11-");
				day = days-305;					
			}
			else if(days<=366) {
				s.append("12-");
				day = days-335;					
			}
		}
		else {
			if(days>0&&days<=31) {
				s.append("01-");
				day = days;	
			}
			else if(days<=59) {
				s.append("02-");
				day = days-31;	
			}
			else if(days<=90) {
				s.append("03-");
				day = days-59;	
			}
			else if(days<=120) {
				s.append("04-");
				day = days-90;	
			}
			else if(days<=151) {
				s.append("05-");
				day = days-120;					
			}
			else if(days<=181) {
				s.append("06-");
				day = days-151;					
			}
			else if(days<=212) {
				s.append("07-");
				day = days-181;					
			}
			else if(days<=243) {
				s.append("08-");
				day = days-212;					
			}
			else if(days<=273) {
				s.append("09-");
				day = days-243;					
			}			
			else if(days<=304) {
				s.append("10-");
				day = days-273;					
			}
			else if(days<=334) {
				s.append("11-");
				day = days-304;					
			}
			else if(days<=365) {
				s.append("12-");
				day = days-334;					
			}
		}
		if(day<10) s.append("0");
		s.append(day);
		System.out.println(s);
	}
}



发布了231 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43306331/article/details/104231406