广州证券

用Java编程输出万年历的功能实现

 更新时间:2020年05月31日 17:00:38   转载 作者:Javacorn  
这篇文章主要介绍了用Java编程输出万年历的功能实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

代码运行结果如下:






到此这篇配资公司 用Java编程输出万年历的功能实现的文章就介绍到这了,更多相关Java输出万年历内容请搜索脚本之家以前的文章或继续浏览下面的广州证券相关的文章希望大家以后多多支持脚本之家!

广州证券相关的文章

  • 使用java代码获取新浪微博应用的access token代码实例

    使用java代码获取新浪微博应用的access token代码实例

    这篇文章主要介绍了使用java代码获取新浪微博应用的access token实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Eclipse使用maven搭建spring mvc图文教程

    Eclipse使用maven搭建spring mvc图文教程

    这篇文章主要为大家分享了Eclipse使用maven搭建spring mvc图文教程,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Java实例域初始化方法及顺序

    Java实例域初始化方法及顺序

    这篇文章主要介绍了Java实例域初始化方法及顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Java线程的相关方法详细解析

    Java线程的相关方法详细解析

    以下是对Java线程的相关方法进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09
  • Java多线程下载的实现方法

    Java多线程下载的实现方法

    复习多线程的时候,练习了下,顺便记录一下:
    2013-03-03
  • java导出数据库中Excel表格数据的方法

    java导出数据库中Excel表格数据的方法

    这篇文章主要为大家详细介绍了java导出数据库中Excel表格数据的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Java使用DOM4j实现读写XML文件的属性和元素

    Java使用DOM4j实现读写XML文件的属性和元素

    这篇文章主要为大家详细介绍了Java使用DOM4j实现读写XML文件的属性和元素,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Spring Boot学习入门之表单验证

    Spring Boot学习入门之表单验证

    表单验证主要是用来防范小白搞乱网站和一些低级的黑客技术。Spring Boot可以使用注解 @Valid 进行表单验证。下面这篇文章主要给大家介绍了配资公司 Spring Boot学习入门之表单验证的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • Java+Ajax实现的用户名重复检验功能实例详解

    Java+Ajax实现的用户名重复检验功能实例详解

    这篇文章主要介绍了Java+Ajax实现的用户名重复检验功能,结合实例形式详细分析了java针对用户名提交的ajax数据库查询与重复检查功能相关实现技巧与操作注意事项,需要的朋友可以参考下
    2018-12-12
  • Spring中如何动态注入Bean实例教程

    Spring中如何动态注入Bean实例教程

    这篇文章主要给大家介绍了配资公司 Spring中如何动态注入Bean的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12

最新评论

深高CWB1(580014)

上汽CWB1(580016)

赣粤CWB1(580017)

石化CWB1(580019)

上港CWB1(580020)

青啤CWB1(580021)

国电CWB1(580022)

康美CWB1(580023)

宝钢CWB1(580024)

葛洲CWB1(580025)