在日常工作中,有时需要统计指定月份的工作日数量。本篇博客将介绍如何使用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;
-
在上述代码中,我们首先获取用户输入的年份和月份。使用
nextInt()
方法分别读取用户输入的整数值,并将其存储在year
和month
变量中。 -
然后,我们调用
countWorkingDays()
方法来统计指定年份和月份中的工作日数量。在该方法中,我们首先获取指定月份的天数,使用LocalDate.of(year, month, 1).lengthOfMonth()
来获取。然后,我们使用一个循环遍历该月份的每一天。 -
在循环中,我们使用
LocalDate
类获取每一天的星期几信息,并将其存储在dayOfWeek
变量中。如果该天不是周六和周日(即工作日),则将工作日数量增加。 -
最后,我们返回统计得到的工作日数量,并将结果输出到控制台。