黑马程序员技术交流社区

标题: 学习Date类后写的简单的小日历程序 [打印本页]

作者: yikwing    时间: 2016-5-29 13:21
标题: 学习Date类后写的简单的小日历程序
本帖最后由 yikwing 于 2016-5-29 13:22 编辑
  1. package com.yiwing.day14;

  2. import java.text.ParseException;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6. import java.util.Scanner;

  7. public class Demo1_VisualDate {

  8.         public static void main(String[] args) {

  9.                 Scanner sc = new Scanner(System.in); // 创建键盘录入对象
  10.                 try {
  11.                         System.out.println("输入年-月-日 (如1970-1-1) :");
  12.                         Date date = new SimpleDateFormat("yyyy-MM-dd").parse(sc.nextLine());// 将字符串对象转为Date对象
  13.                         Calendar calendar = Calendar.getInstance();// 创建日历对象
  14.                         calendar.setTime(date); // 获取当前Date的值
  15.                         int day = calendar.get(Calendar.DATE);// 获取Date的 天对象

  16.                         calendar.set(Calendar.DATE, 1); // 将 当前日期天数重置为1

  17.                         int maxDate = calendar.getActualMaximum(Calendar.DATE);// 获取月份中最大的天数

  18.                         System.out.println("\t日\t一\t二\t三\t四\t五\t六"); // 输出星期表

  19.                         for (int i = 1; i < calendar.get(Calendar.DAY_OF_WEEK); i++) { // 根据1号对应的星期几在前面置空格
  20.                                 System.out.print("\t");
  21.                         }

  22.                         for (int i = 1; i <= maxDate; i++) {

  23.                                 System.out.print("\t" + i);// 打印完整月历
  24.                                 if (i == day) { // 在天数后置标记
  25.                                         System.out.print("*");
  26.                                 }

  27.                                 if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {// 碰到周六就换行
  28.                                         System.out.println();
  29.                                 }

  30.                                 calendar.add(Calendar.DATE, 1);// 天数加一

  31.                         }
  32.                 } catch (ParseException e) {

  33.                         e.printStackTrace();
  34.                 }

  35.         }

  36. }
复制代码

2016-05-29_132008.png (13.29 KB, 下载次数: 8)

2016-05-29_132008.png

作者: yikwing    时间: 2016-5-29 13:40
同学们自己可以试试 ,全是老师教过的内容
作者: 宁静||致远    时间: 2016-5-29 13:47
大神啊,我找这个找了好久了,膜拜!!!
作者: 宁静||致远    时间: 2016-5-29 13:48
顶贴,收藏
作者: haizi004    时间: 2016-5-29 14:17
路过,楼主可以的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2