public class PerpetualCalendar { public static void main(String[] args) { System.out.println("******************欢迎使用万年历*****************"); Scanner sc = new Scanner(System.in); System.out.print("请选择年份:"); int year = sc.nextInt(); Scanner sc1 = new Scanner(System.in); System.out.print("请选择月份:"); int mon = sc1.nextInt(); // 设置日历对象的年、月、日 Calendar c = Calendar.getInstance(); c.set(year, mon, 1);// 输入的后一个月的一号 c.add(Calendar.DATE, -1);// 这个月的最后一天 int lastDay = c.get(Calendar.DATE); Calendar c1 = Calendar.getInstance(); c1.set(year, mon - 1, 1); System.out.printf("%-6s %-6s %-6s %-6s %-6s %-6s %-6s", "星期日", "星期一","星期二", "星期三", "星期四", "星期五", "星期六"); System.out.println(); int i = 1; while (i <= lastDay) { String s1 = PerpetualCalendar.dateToString(c1.getTime(), "EEE"); String s2 = PerpetualCalendar.dateToString(c1.getTime(), "dd"); if (i == 1) { if (s1.equals("星期一")) { System.out.printf("%-6s %-7s","",s2); } else if (s1.equals("星期二")) { System.out.printf("%-6s %-6s %-7s","","", s2); } else if (s1.equals("星期三")) { System.out.printf("%-6s %-6s %-6s %-7s","","","", s2); } else if (s1.equals("星期四")) { System.out.printf("%-6s %-6s %-6s %-6s %-7s","","","","", s2); } else if (s1.equals("星期五")) { System.out.printf("%-6s %-6s %-6s %-6s %-6s %-7s","","","","","", s2); } else if (s1.equals("星期六")) { System.out.printf("%-6s %-6s %-6s %-6s %-6s %-6s %-7s","","","","","","", s2); System.out.println(); } else if (s1.equals("星期日")) { System.out.printf("%-7s", s2); } }else if(s1.equals("星期六")){ System.out.printf("%-7s", s2); System.out.println(); }else{ System.out.printf("%-7s", s2); } c1.add(Calendar.DATE, 1); i++; } } public static String dateToString(Date date, String format) { SimpleDateFormat sdf = new SimpleDateFormat(format); String s = sdf.format(date); return s; } }