实例:输入
输出
相关代码及注释:
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Scanner; public class Test02 { public static void main(String[] args) throws ParseException { Scanner sc = new Scanner(System.in); while (true) { System.out.println("请您输入日期"); String input = sc.nextLine(); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");//设置输入日期式 Date parse = dateFormat.parse(input);//将输入的日期字符串格式转换为Date Calendar calendar = new GregorianCalendar(); calendar.setTime(parse);//将Date对象转换为Calebdar对象 int today = calendar.get(calendar.DATE); int act = calendar.getActualMaximum(calendar.DATE); int i1 = calendar.DAY_OF_WEEK; calendar.set(Calendar.DATE, 1);//设置日期对本月的第一天 System.out.println("日\t一\t二\t三\t四\t五\t六"); //判断一号前面需要输出的制表位 int act1 = calendar.get(calendar.DAY_OF_WEEK); for (int i = 1; i < act1; i++) { System.out.print("\t"); } for (int i = 1; i <= act; i++) { int week = calendar.get(Calendar.DAY_OF_WEEK); if (today == i) { System.out.print("*" + i + "\t"); } else { System.out.print(i + "\t"); } if (calendar.SATURDAY == week) { System.out.println(); } calendar.add(calendar.DATE, 1); } if(input.equals("xxx")){ break; } } } }