万年历

package time;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 CalendarTest {/*** 万年历 * 键盘输入年和月,输出这个月有多少天 */public static void main(String[] args) throws ParseException {Scanner key = new Scanner(System.in);Calendar cal = new GregorianCalendar();//打印日历的方法showTime(cal);while (true) {//打印操作帮助信息help();//接收指令int con = key.nextInt();switch (con) {case 1://打印上月的日历preMonth(cal);break;case 2://打印下月的日历nextMonth(cal);break;case 3://打印去年本月的日历preYear(cal);break;case 4://打印明年本月的日历nextYear(cal);break;case 5://打印指定年月的日历checkYearMonth(key);break;default:System.out.println("请正确输入选项!");}}}/*** 打印指定年月的日历*/private static void checkYearMonth(Scanner key) throws ParseException {System.out.println("请输入年月按此格式输入:(yyyy-MM)");String str = key.next();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");Date date1 = sdf.parse(str);System.out.println(date1);Calendar cal = new GregorianCalendar();cal.setTime(date1);showTime(cal);}/*** 打印明年本月的日历 */private static void nextYear(Calendar cal) {cal.add(Calendar.YEAR, +1);showTime(cal);}/*** 打印去年本月的日历 */private static void preYear(Calendar cal) {cal.add(Calendar.YEAR, -1);showTime(cal);}/*** 打印下月的日历 * @param cal */private static void nextMonth(Calendar cal) {cal.add(Calendar.MONTH, +1);showTime(cal);}/*** 打印上月的日历 */private static void preMonth(Calendar cal) {cal.add(Calendar.MONTH, -1);add()/roll():添加时间量showTime(cal);}private static void help() {System.out.println();System.out.println("* * * * * * * * * * * * * *");System.out.println("按1 查看上个月的日历");System.out.println("按2 查看下个月的日历");System.out.println("按3 查看去年本月的日历");System.out.println("按4 查看明年本月的日历");System.out.println("按5 查看指定年月的日历");System.out.println("* * * * * * * * * * * * * *");System.out.println("请输入指令:");}private static void showTime(Calendar cal) {//获取这个月的总天数int totalDays = cal.getActualMaximum(Calendar.DATE);//设置日期为当月第一天cal.set(Calendar.DAY_OF_MONTH, 1);// 获取月份第一天是周几,周日是第一天int week = cal.get(Calendar.DAY_OF_WEEK);// System.out.println("1号周"+(week-1));if (week == 1) {week = 8;}System.out.println("---------" + cal.get(Calendar.YEAR) + "年" + (cal.get(Calendar.MONTH) + 1) + "月---------");System.out.println("一\t二\t三\t四\t五\t六\t日");int num = 0;for (int i = 1; i < week - 1; i++) {System.out.print(" \t");num++;}for (int i = 1; i <= totalDays; i++) {System.out.print(i + "\t");num++;if (num % 7 == 0) {System.out.println();}}System.out.println();}
}

效果图

万年历,java如何实现日历查询相关推荐

  1. 万年历查询java项目查询,Java日历查询程序(万年历)

    Java日历查询程序(万年历) mip版  关注:259  答案:2  悬赏:10 解决时间 2021-01-25 03:09 已解决 2021-01-24 09:57 目标:创建一个包含万年历和备忘 ...

  2. java日历查询代码,java实现日历查询小程序

    java语言实现的日历查询小程序,有输入容错机制,支持万年历. package hust.hg.test; import java.util.InputMismatchException; impor ...

  3. java记事本获取当前时间_calendar 用Java写的日历,有查询时间日期,还有记事本以及到点提醒功能。 Develop 238万源代码下载- www.pudn.com...

    文件名称: calendar下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 4465 KB 上传时间: 2013-06-30 下载次数: 3 提 供 者: 陈园园 ...

  4. java:在线日历查询

    效果图 代码 package RiNi;import java.util.Scanner;/*** * @author 小钱钱* @time * @作用:日历*/ public class Dome_ ...

  5. Java课程设计-日历记事本

    #Java课程设计-日历记事本 ##日历记事本 要求:带有日程提醒功能的日历(数据库可采用Access.SQL Server或者MySQL). (1)显示信息:用户可以向前翻页查询前一个月的日期,也可 ...

  6. java怎么写桌面日历_基于java的桌面日历系统的设计与实现毕业设计论文最终版.doc...

    基于java的桌面日历系统的设计与实现毕业设计论文最终版 分类号_______________ 密级________________ UDC _______________ 学号_ ___ 毕业设计( ...

  7. 利用Java输出电子日历

    /** 时间:2018-3-25* 目的:practice* 内容:利用Java输出电子日历* 使用Java技术实现电子日历,需求为从控制台输入年份与月份后,控制台输出该月的日历信息.* */ pac ...

  8. java课程设计日历,java课程设计--日历

    java课程设计--日历 0 java 语言课程设计 学 院 指导教师 学 号 姓 名 班 级 1 目录 一.课程题目2 二.需求分析2 三.概要设计2 四.详细设计2 五.测试数据及运行结果8 六. ...

  9. java 实现违章_基于JAVA的车辆违章查询数据调用代码实例

    基于JAVA的车辆违章查询数据调用代码实例 代码描述:基于JA V A的车辆违章查询数据调用代码实例 相关平台:聚合数据 import java.io.BufferedReader; import j ...

  10. java实现三级联动查询_Java框架SSH结合Easyui控件实现省市县三级联动示例解析

    Easyui调用数据库实现省市县区三级联动的效果如果下 1.首先要设计数据库,如图所示.一个有4个字段code,note,pycode.code:行政区划代码,note:中文注释,pycode:拼音缩 ...

最新文章

  1. sql server常用性能计数器
  2. 突破极限–如何使用AeroGear Unified Push for Java EE和Node.js
  3. web处理高并发措施
  4. Fiddler中response乱码的解决方案
  5. 如何自动维护全文索引和目录
  6. c语言编程阿拉伯数字转中文,阿拉伯数字转中文大(小)写的函数
  7. 开始学习Scheme
  8. 移植交叉编译pcDuino + busybox 成功搭建最小linux系统
  9. 计算机打印服务总是自动关闭,win10系统电脑打印机print spooler服务总是自动停止的设置教程...
  10. 基于Access的学生信息管理系统设计(下):窗体设计
  11. 【OpenCV】特征检测器 FeatureDetector
  12. 嵌入式c语言编程,嵌入式C语言编程集萃.pdf
  13. 计算机软件服务的财务制度,餐饮业财务管理制度流程
  14. realsenseD400系列使用realense-ros出现“symbol lookup error ... undefined symbol: _ZN2cv3M “解决方法(这个问题在我这里终结)
  15. 关于大创项目的初期思考2020.11.14
  16. php免费开发环境搭建,Windows PHP 开发环境搭建
  17. 自动化做任务、收能量工具Hamibot,我愿称它为神器
  18. 假如魔兽由其他公司来做
  19. mysql常见数据库设计_MySQL数据库常用架构设计
  20. 百度快照优化就是友情链接

热门文章

  1. 获取完整拼音中包含拼音的个数
  2. mysql车库管理系统_小区停车管理系统(JSP+JAVA+MySQL)
  3. 问题记录-Access数据库运行查询语句需要输入参数
  4. 深度解析dubbo源码 (dubbo整体设计) (二)
  5. InVEST实践及在生态系统服务供需、固碳、城市热岛、论文写作等实际项目中的具体应用
  6. 魅族手机android调试模式吗,怎么开启魅族Pro5 USB调试模式 魅族Pro5 USB调试模式开启方法...
  7. Pix4D生成正射影像记录
  8. 对于三极管饱和状态的理解
  9. 《深入浅出WPF》c#WPF入门,快速上手
  10. 风云武魂传说防御(四职业)