Java_万年历(简单)

Java_万年历(简单)1、方法,需要一个年份,一个月份。然后在控制台输出日历2、MainTest测试类3、运行结果:有帮助,就点个推荐吧,让更多人看到

大家好,又见面了,我是你们的朋友全栈君。

1、方法,需要一个年份,一个月份。然后在控制台输出日历

 1 // 输入一个年份和一个月份显示日历
 2     public static void printCalendar(int year, int month) {
 3         // 转换日期
 4         Calendar calendar = Calendar.getInstance();
 5         // 找到月份第一天
 6         calendar.set(year, month-1, 1);
 7         // 找到第一天是周几  1 周日 2 周一
 8         int week = calendar.get(Calendar.DAY_OF_WEEK);
 9         //System.out.println("week: "+week);
10         // 获取最大日期
11         int dayMax = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
12         // 循环输出
13         System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t");
14         // 若第一天不为周日
15         if(week != 1) {
16             // 判断01是周几  空格
17             for(int j = 1;j < week;j++) {
18                 System.out.print(" \t");
19             }
20         }
21         // 循环
22         for (int i = 1; i <= dayMax; i++) {
23             // 找到第 i 天  
24             calendar.set(year, month-1, i);
25             // 第  i 天是周几
26             int wek = calendar.get(Calendar.DAY_OF_WEEK);
27             System.out.print(i + "\t");
28             // 周六回车
29             if ( wek == 7) {
30                 System.out.println();
31             }
32             
33         }
34     }

2、MainTest测试类

 1 public static void main(String[] args) {
 2         // 万年历测试类
 3         Scanner scanner = new Scanner(System.in);
 4         boolean isTrue = true;
 5         while(isTrue) {
 6             System.out.println("-------------万年历------------");
 7             System.out.println("1、查看日历");
 8             System.out.println("0、退出");
 9             int key = scanner.nextInt();
10             switch (key) {
11             case 1:
12                 System.out.println("请输入年份:");
13                 int year = scanner.nextInt();
14                 System.out.println("请输入月份:");
15                 int month = scanner.nextInt();
16                 PerpetualCalendar.printCalendar(year, month);
17                 System.out.println();
18                 break;
19             default:
20                 isTrue = false;
21                 break;
22             }
23         }
24         System.out.println("已退出系统...");
25     }

3、运行结果:

<span role="heading" aria-level="2">Java_万年历(简单)

 

<span role="heading" aria-level="2">Java_万年历(简单)

  有帮助,就点个推荐吧,让更多人看到

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155342.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【转载】VS工具使用——代码生成函数关系图

    【转载】VS工具使用——代码生成函数关系图

    2021年11月18日
    91
  • DELL服务器数据恢复成功案例

    DELL服务器数据恢复成功案例DELLEqualLogicPS6100采用虚拟ISCSISAN阵列,为远程或分支办公室、部门和中小企业存储部署带来企业级功能、智能化、自动化和可靠性。以简化的管理、快速的部署及合理的价格满足了分支办公室和中小企业的存储需求,同时提供全套企业级数据保护和管理功能、可靠的性能、可扩展性和容错功能,是中型企业级存储的起点产品,但某些物理故障或其他操作都可能会对卷或存储造成破坏,因此对系列存储的数…

    2022年6月30日
    30
  • linux 通配符

    linux 通配符*–代表所有字符?-通配符,代表一个字符,一个?代表只匹配一个字符????4个?代表匹配4个字符;分号两个命令之间的分隔符#文件里面的注释|管道~用户家目录-上一次目

    2022年7月3日
    24
  • Vue大数据可视化(大屏展示)解决方案

    Vue大数据可视化(大屏展示)解决方案一个基于vue、datav、Echart框架的大数据可视化(大屏展示)模板,最近更新了详细的介绍说明,实现大数据可视化。通过vue组件实现数据动态刷新渲染,内部图表可自由替换。部分图表使用DataV自带组件,可自由进行更改,持续更新…项目地址:vue-big-screen(码云)一、项目描述一个基于vue、datav、Echart框架的”数据大屏项目”,通过…

    2022年6月7日
    464
  • Java并发编程:线程池的使用

    Java并发编程:线程池的使用

    2022年2月21日
    39
  • 通过@MapperScan源码了解Spring自定义注解扫描器[通俗易懂]

    通过@MapperScan源码了解Spring自定义注解扫描器[通俗易懂]我们在使用springboot整合MyBatis时,需要在启动类上添加上@MapperScan注解,并写入mapper接口的包路径,然后我们就能通过从springIOC容器中取对应的mapper的Bean来进行持久化操作了,那么@MapperScan是如何将mapper接口实例化并注入到SpringIOC容器中的呢?首先搭建一个springboot项目,引入mybatis和mysql的相…

    2022年5月22日
    128

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号