统计指定月份的工作日数量的Java程序实现

简介: 统计指定月份的工作日数量的Java程序实现

在日常工作中,有时需要统计指定月份的工作日数量。本篇博客将介绍如何使用Java编程语言编写一个简单的程序来统计用户输入的年份和月份中的工作日数量(假设工作日为周一至周五)

Scanner scanner = new Scanner(System.in);
        //输入年份
        System.out.print("请输入年份:");
        int year = scanner.nextInt();
        //输入月份
        System.out.print("请输入月份:");
        int month = scanner.nextInt();
        int workingDays = countWorkingDays(year, month);
        System.out.println("工作日数量:" + workingDays);
    }
        public static int countWorkingDays(int year, int month) {
            int workingDays = 0;
            int daysInMonth = LocalDate.of(year, month, 1).lengthOfMonth();
            for (int day = 1; day <= daysInMonth; day++) {
                LocalDate date = LocalDate.of(year, month, day);
                DayOfWeek dayOfWeek = date.getDayOfWeek();
                // 如果该天不是周六和周日(即工作日),则将工作日数量增加
                if (dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY) {
                    workingDays++;
                }
            }
            return workingDays;
  1. 在上述代码中,我们首先获取用户输入的年份和月份。使用nextInt()方法分别读取用户输入的整数值,并将其存储在yearmonth变量中。
  2. 然后,我们调用countWorkingDays()方法来统计指定年份和月份中的工作日数量。在该方法中,我们首先获取指定月份的天数,使用LocalDate.of(year, month, 1).lengthOfMonth()来获取。然后,我们使用一个循环遍历该月份的每一天。
  3. 在循环中,我们使用LocalDate类获取每一天的星期几信息,并将其存储在dayOfWeek变量中。如果该天不是周六和周日(即工作日),则将工作日数量增加。
  4. 最后,我们返回统计得到的工作日数量,并将结果输出到控制台。
相关文章
|
8天前
|
Java
【专栏】Java反射机制,该机制允许程序在运行时获取类信息、动态创建对象、调用方法和访问属性
【4月更文挑战第27天】本文探讨了Java反射机制,该机制允许程序在运行时获取类信息、动态创建对象、调用方法和访问属性。反射通过Class、Constructor、Method和Field类实现。文中列举了反射的应用场景,如动态创建对象、调用方法、访问属性和处理注解,并提供了相关实例代码演示。
|
8天前
|
Java Maven
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
44 3
|
2天前
|
小程序 前端开发 Java
Java程序的种类和结构
Java程序的种类和结构
|
3天前
|
缓存 算法 Java
如何提高Java程序的性能?
Java是一种非常流行的编程语言,但是在处理大规模数据和高并发时,程序性能容易受到影响。本文将分享一些提高Java程序性能的技巧。
|
8天前
|
搜索推荐 算法 Java
滚雪球学Java(29):数组长度和排序算法:让你的程序更高效
【5月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
15 0
滚雪球学Java(29):数组长度和排序算法:让你的程序更高效
|
8天前
|
前端开发 Java 应用服务中间件
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
28 0
|
8天前
|
Java Linux C语言
一步带你了解java程序逻辑控制
一步带你了解java程序逻辑控制
20 2
|
8天前
|
Java 数据安全/隐私保护
java中程序控制的典例
java中程序控制的典例
15 1
|
8天前
|
存储 Java 数据库连接
使用Java开发桌面应用程序
使用Java开发桌面应用程序
31 0
|
8天前
|
关系型数据库 MySQL Java
通过使用阿里云服务器,搭建Java程序的运行环境
通过使用阿里云服务器,搭建Java程序的运行环境