java打印输出万年历_用Java编程输出万年历的功能实现

本文介绍了如何使用Java编程实现万年历的打印功能,包括查看上个月、下个月、去年本月、明年本月以及指定月份的日历。通过Calendar类和Scanner类交互,用户可以输入选项选择查看不同时间段的日历。详细代码展示了各个功能的实现方法。
摘要由CSDN通过智能技术生成

1、功能实现

输入1查看上个月日历

输入2查看下个月日历

输入3查看去年本月日历

输入4查看明年本月日历

输入5查看指定月份日历

2、代码所导入的包

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.GregorianCalendar;

import java.util.Scanner;

3、main函数和定义的属性

static Scanner key=new Scanner(System.in);//创建键盘扫描器

public static void main(String[] args) {

Calendar cal=new GregorianCalendar();

showTime(cal);//显示本月日历

while(true) {

help();//调出帮助菜单

int num=key.nextInt();//菜单输入选项

switch(num) {

case 1:lastMonth();break;//查找上个月日历

case 2:nextMonth();break;//查找下个月日历

case 3:lastYearMonth();break;//查找去年本月日历

case 4:nextYearMonth();break;//查找明年本月日历

case 5:chooseMonth();break;//查找指定时间日历

default :System.out.println("请输入正确的指令:");

}

}

}

4、查找去年本月日历方法

private static void lastYearMonth() {//查找去年本月日历

Calendar cal=new GregorianCalendar();

cal.add(Calendar.YEAR,-1);//将时间转换到去年

showTime(cal);//调用showTime()方法,打印日历

}

5、查找明年本月日历

private static void nextYearMonth() {//查找明年本月日历

Calendar cal=new GregorianCalendar();

cal.add(Calendar.YEAR,1);//将时间转换到明年

showTime(cal);//调用showTime()方法,打印日历

}

6、查找指定时间日历

private static void chooseMonth() {//查找指定时间日历

System.out.println("请输入时间,如 2020-2");

String str=key.next();

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");

//转换字符串时间为date类型

Date date=null;

try {//抛出异常

date=sdf.parse(str);

} catch (ParseException e) {

e.printStackTrace();

}

Calendar cal= new GregorianCalendar();

cal.setTime(date);//将date的时间类型转换为Calendar

showTime(cal);调用showTime()方法,打印日历

}

7、查找下个月日历

private static void nextMonth() {//查找下个月日历

Calendar cal=new GregorianCalendar();

cal.add(Calendar.MONTH,1);//将时间转换到下个月

showTime(cal);//调用showTime()方法,打印日历

}

8、查找上个月日历

private static void lastMonth() {//查找上个月日历

Calendar cal=new GregorianCalendar();

cal.add(Calendar.MONTH,-1);//将时间转换到上个月

showTime(cal);//调用showTime()方法,打印日历

}

9、打印帮助目录

private static void help() {//打印帮助目录

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("*****************");

}

10、该方法用来展示所搜索的时间

private static void showTime(Calendar cal) {//该方法用来展示所搜索的时间

int touday=cal.getActualMaximum(Calendar.DATE);

//获取当月的总天数

cal.set(Calendar.DATE,1);

//将时间设置成一个月的第一天

System.out.println("一\t二\t三\t四\t五\t六\t日");

//将星期的文字表示出来

int weekday=cal.get(Calendar.DAY_OF_WEEK);

//获取每月第一天是星期几

for(int i=1;i

//输出首日前面的空格

System.out.print("\t");

}

for(int i=1;i<=touday;i++) {

//将一月里的每一天输出

System.out.print(i+"\t");

if((i+weekday-2)%7==0) {

//输出换行,加上前面的空格数再换行

System.out.println();

}

}

System.out.println();

System.out.println("*****************");

}

}

代码运行结果如下:

p0wootlsyso.jpg

okbf32pit3y.jpg

003011709089c4e1d93ce30c721015ab.png

3cf35ad7e444cba8ec0a1fddad7e409f.png

6b15e1a77c17a670eeda37673decb317.png

xmplfbnpnyt.jpg

到此这篇关于用Java编程输出万年历的功能实现的文章就介绍到这了,更多相关Java输出万年历内容请搜索聚米学院以前的文章或继续浏览下面的相关文章希望大家以后多多支持聚米学院!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值