java学习——可视化日历的制作
来源:互联网 发布:东南大学怎么样 知乎 编辑:程序博客网 时间:2024/05/06 16:14
学习了Calendar类和GregorianCalendar类的使用,现在来用它们来制作一个简单的可视化日历。
首先把任务分解。
第一步:打印出一周的七天和一个月的31天。
在for循环中从1到31依次打印,对7取余,实现每一行只有七天,对应周一到周日。
/** * 可视化日历的程序-版本1 * @author Administrator * */public class VisulCalendar {public static void main(String[] args) {System.out.println("日\t一\t二\t三\t四\t五\t六");int j=0;for(int i=1;i<=31;i++) {System.out.print(i + "\t");j++;if(j%7 == 0) {System.out.println();j=0;}}}}运行的效果为:
日一二三四五六12345678910111213141516171819202122232425262728293031第二步:进一步添加各个模块。使用System.in来捕获键盘输入的日期,判断当前月份的1号是周几(calendar.get(Calendar.DAY_OF_WEEK)-1)),确定当前月份一共多少天(calendar.getActualMaximum(Calendar.DATE))。然后打印出当前月份所有天数,并在当前日期前面加上一个符号*。
package com.bjsxt.TestDate;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;/** * 可视化日历的程序-版本2 * @author Administrator * */public class VisulCalendar2 {public static void main(String[] args) {System.out.println("请输入日期(按照格式 2030-3-10:)");Scanner scanner = new Scanner(System.in);String str = scanner.nextLine();String temp = str;DateFormat format = new SimpleDateFormat("yyyy-MM-dd");try {Date date = format.parse(temp);Calendar calendar = new GregorianCalendar();calendar.setTime(date);int today = calendar.get(Calendar.DATE); //获取当前的日期calendar.set(Calendar.DATE,1);System.out.println("本月份的1号是星期"+ ( calendar.get(Calendar.DAY_OF_WEEK)-1));System.out.println("本月份一共"+ calendar.getActualMaximum(Calendar.DATE)+ "天");int maxDate = calendar.getActualMaximum(Calendar.DATE);System.out.println("日\t一\t二\t三\t四\t五\t六");for(int i=1;i< calendar.get(Calendar.DAY_OF_WEEK);i++) {System.out.print("\t");}//打印出当前月份的所有天数,并在当前天数前添加符号*for(int i=1;i<= maxDate;i++) {if(i == today) {System.out.print("*");}System.out.print(i + "\t");int w = calendar.get(Calendar.DAY_OF_WEEK); //w表示当前是星期几if(w == Calendar.SATURDAY) {System.out.println();}calendar.add(Calendar.DATE,1);}} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}运行程序之后,按照要求输入日期2017-3-23,显示结果如下
请输入日期(按照格式 2030-3-10:)2017-3-23本月份的1号是星期3本月份一共31天日一二三四五六12345678910111213141516171819202122*232425262728293031至此,便完成了可视化日历的简易版本。
阅读全文
1 0
- java学习——可视化日历的制作
- java—可视化日历
- JAVA学习笔记23——DateFormat类+Calendar类+实践:可视化日历
- 实训 -- 制作一个可视化日历
- 可视化日历【Java,有详细的注释】
- 简单日历的制作 java
- 学习可视化日历
- java控制台可视化日历
- 可视化日历_Demo01.java
- java可视化日历
- java可视化日历
- Java做可视化日历
- java可视化日历程序
- 黑马程序员——java学习7(小日历制作)
- 可视化日历的实现
- 制作日历——01
- 制作日历——02
- 制作日历——03
- Android遇到的小问题
- android性能调优
- 比特币简单的理解
- Vue学习之源码分析--聊聊Vue.js的template编译(七)
- 监听器配置文件web.xml引发java.lang.ClassNotFoundException
- java学习——可视化日历的制作
- quill-editor 在ios下editor不能够聚焦输入
- Linux: mv, rename单次及批次修改档案名称及后缀(批量修改文件名)
- xgboost原理及应用
- BZOJ4121 乱搞
- c++学习之 类中的常成员与静态成员
- 卷积网络深度和宽度修改(一)
- 最长非上升/非下降子序列(O(nlogn)非连续)
- Head First Java 39页猜数字游戏中的错误。