统计指定月份的工作日数量的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. 最后,我们返回统计得到的工作日数量,并将结果输出到控制台。
相关文章
|
10天前
|
XML 存储 JSON
Java程序部署
Java程序部署
|
11天前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
21 5
|
12天前
|
Java 编译器 数据库连接
探索Java中的异常处理:提升程序的鲁棒性
【9月更文挑战第25天】在Java的世界里,异常是那些不请自来、令人头疼的“客人”。它们悄无声息地潜入我们的代码,一旦出现,便可能导致程序崩溃或行为异常。但是,如果能够妥善管理这些异常,我们就能将潜在的灾难转变为增强程序鲁棒性和用户体验的机会。本文将通过深入浅出的方式,带领读者理解Java异常处理的重要性,并提供实用的策略来优雅地处理这些意外情况。让我们一起学习如何在Java中捕捉、处理和预防异常,确保我们的程序即使在面对不可预见的错误时也能保持稳健运行。
|
18天前
|
监控 Java 数据库
Java程序如何进行不停机更新?
Java程序如何进行不停机更新?
19 1
|
2月前
|
安全 Java API
16 个最常用的 Java 实用程序类
【8月更文挑战第16天】
158 1
16 个最常用的 Java 实用程序类
|
1月前
|
缓存 监控 安全
如何提高 Java 高并发程序的性能?
以下是提升Java高并发程序性能的方法:优化线程池设置,减少锁竞争,使用读写锁和无锁数据结构。利用缓存减少重复计算和数据库查询,并优化数据库操作,采用连接池和分库分表策略。应用异步处理,选择合适的数据结构如`ConcurrentHashMap`。复用对象和资源,使用工具监控性能并定期审查代码,遵循良好编程规范。
|
2月前
|
Java 编译器 开发者
Java中的异常处理是确保程序稳定性的关键
Java中的异常处理是确保程序稳定性的关键。本文探讨八大最佳实践:理解异常体系,选用恰当异常类型,提供详细错误信息,精用try-catch,善用finally块,利用try-with-resources简化资源管理,记录异常便于追踪,及避免finally中抛异常。遵循这些原则,提升代码质量和错误管理能力。
18 1
|
2月前
|
Java 开发者
在Java编程的广阔天地中,if-else与switch语句犹如两位老练的舵手,引领着代码的流向,决定着程序的走向。
在Java编程中,if-else与switch语句是条件判断的两大利器。本文通过丰富的示例,深入浅出地解析两者的特点与应用场景。if-else适用于逻辑复杂的判断,而switch则在处理固定选项或多分支选择时更为高效。从逻辑复杂度、可读性到性能考量,我们将帮助你掌握何时选用哪种语句,让你在编程时更加得心应手。无论面对何种挑战,都能找到最适合的解决方案。
33 1
|
2月前
|
搜索推荐 Java 程序员
在Java编程的旅程中,条件语句是每位开发者不可或缺的伙伴,它如同导航系统,引导着程序根据不同的情况做出响应。
在Java编程中,条件语句是引导程序根据不同情境作出响应的核心工具。本文通过四个案例深入浅出地介绍了如何巧妙运用if-else与switch语句。从基础的用户登录验证到利用switch处理枚举类型,再到条件语句的嵌套与组合,最后探讨了代码的优化与重构。每个案例都旨在帮助开发者提升编码效率与代码质量,无论是初学者还是资深程序员,都能从中获得灵感,让自己的Java代码更加优雅和专业。
16 1
|
2月前
|
Java
在Java编程的广阔天地中,条件语句是控制程序流程、实现逻辑判断的重要工具。
在Java编程中,if-else与switch作为核心条件语句,各具特色。if-else以其高度灵活性,适用于复杂逻辑判断,支持多种条件组合;而switch在多分支选择上表现优异,尤其适合处理枚举类型或固定选项集,通过内部跳转表提高执行效率。两者各有千秋:if-else擅长复杂逻辑,switch则在多分支选择中更胜一筹。理解它们的特点并在合适场景下使用,能够编写出更高效、易读的Java代码。
32 1
下一篇
无影云桌面