java - Java Calendar.DAY_OF_WEEK 给出错误的日期
问题描述
下面的代码有什么问题?它给出了一年中任何日期的错误日期。
import java.util.Scanner;
import java.util.Calendar;
public class Solution {
public static String getDay(String d, String m, String y) {
String[] days = {"SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"};
Calendar c = Calendar.getInstance();
c.set(Integer.parseInt(y), Integer.parseInt(m), Integer.parseInt(d));
return days[c.get(Calendar.DAY_OF_WEEK) - 1];
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String m = in.next();
String d = in.next();
String y = in.next();
System.out.println(getDay(d, m, y));
}
}
解决方案
请参阅Calendar
该类的文档:https ://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html#set-int-int-int-
月份的值以 0 为索引,因此如果您提供3
月份值,则将其解释为“四月”。
推荐阅读
- multithreading - IIS - 即使 CPU 使用率低于 40%,工作线程也不会增加超过一定数量
- html - 如何使用 Beautiful Soup 获得一流的标签?
- anylogic - 如何在 Anylogic 中复制项目
- jenkins - Jenkins 管道将 SSH 凭据存储为参数
- sql - 如何将分析函数用于无序列表的值
- java - 如何使用 oracle 中的 where 子句查询从 oracle 获取 TIMESTAMP WITH TIME ZONE 列值和行?
- javascript - 复制 JS 和 CSS 动画
- javascript - 注销组件在执行注销功能之前重定向
- sql - 增量“大于”性能与单独“之间”运算符的查询性能
- kubernetes - 使用 Ansibl 创建命名空间。导出命名空间=awx