import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int[][] a = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}}; //当年数不能被100整除时,若其能被4整除或400整除时,则为闰年 while (in.hasNextInt()) { // 注意 while 处理多个 case int year = in.nextInt(); int _day = in.nextInt(); PrintDate(a,_day,year); } } //判断输入的年份是否是闰年 public static boolean IsRunYear(int year) { if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) { return true; } return false; } //根据年份,第几天等信息打印日期 public static void PrintDate(int[][] a, int _day, int year) { int j = IsRunYear(year) ? 1 : 0; int month = 0; for (int i = 0 ; i < a[0].length ; ++i) { if (_day > a[j][i]) { _day = _day - a[j][i]; } else { month = i; break; } } System.out.println(year + "-" + (month < 10 ? "0" + month : month) + "-" +(_day < 10 ? "0" + _day : _day)); } }