文章目录
- 题目需求
- 2.代码
- 3.总结
题目需求
2.代码
class Solution {
public String convertDateToBinary(String date) {
if (date == null || date.length() != 10 || date.charAt(4) != '-' || date.charAt(7) != '-') {
throw new IllegalArgumentException("输入的日期格式不正确,应该是 yyyy - mm - dd");
}
int year = Integer.parseInt(date.substring(0, 4));
int month = Integer.parseInt(date.substring(5, 7));
int day = Integer.parseInt(date.substring(8));
if (year < 1900 || year > 2100 || month < 1 || month > 12 || day < 1) {
throw new IllegalArgumentException("输入的日期不在有效范围内(1900 年 1 月 1 日到 2100 年 12 月 31 日)");
}
int[] daysInMonth = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
daysInMonth[1] = 29;
}
if (day > daysInMonth[month - 1]) {
throw new IllegalArgumentException("输入的日期不在有效范围内(1900 年 1 月 1 日到 2100 年 12 月 31 日)");
}
// 将年、月、日转换为二进制字符串
String yearBinary = Integer.toBinaryString(year);
String monthBinary = Integer.toBinaryString(month);
String dayBinary = Integer.toBinaryString(day);
// 连接二进制字符串
return yearBinary + '-' + monthBinary + '-' + dayBinary;
}
}
3.总结
JAK1.8到时候考场上会给,主要是要熟练使用哇