Java实现简陋日历(无GUI)

版权声明:iQXQZX https://blog.csdn.net/Cherishlife_/article/details/87932850
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 test {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("---------简陋日历小程序-------");
        System.out.println("请输入日期(格式如下:2019-2-21):");
        String str = in.nextLine();

        DateFormat f = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date = f.parse(str);
            Calendar calendar = new GregorianCalendar();
            calendar.setTime(date);

            int nowDay = calendar.get(Calendar.DATE);

            calendar.set(Calendar.DATE, 1);

            System.out.println("日\t一\t二\t三\t四\t五\t六");
            for (int i = 0; i < calendar.get(Calendar.DAY_OF_WEEK) - 1; i++) {
                System.out.print("\t");
            }
            int max = calendar.getActualMaximum(Calendar.DATE);

            for (int i = 1; i <= max; i++) {
                if (i == nowDay)
                    System.out.print("*" + i + "\t");
                else
                    System.out.print(i + "\t");

                int d = calendar.get(Calendar.DAY_OF_WEEK);
                if (d == Calendar.SATURDAY)
                    System.out.println();
                calendar.add(Calendar.DATE, 1);
            }
            System.out.print("\n----------日历生成完毕--------");
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

}

输出:

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/bin/java...
---------简陋日历小程序-------
请输入日期(格式如下:2019-2-21):
2019-2-21
日	一	二	三	四	五	六
					1	2	
3	4	5	6	7	8	9	
10	11	12	13	14	15	16	
17	18	19	20	*21	22	23	
24	25	26	27	28	
----------日历生成完毕--------

猜你喜欢

转载自blog.csdn.net/Cherishlife_/article/details/87932850