题解 | #计算日期到天数转换#
计算日期到天数转换
https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
String date = in.nextLine();
String s1 [] = date.split(" "); //分割成2012 12 31
String s2 [] = date.split(""); //分割成2 0 1 2 1 2 3 1
int month = Integer.parseInt(s1[1]);
switch (month){
case 1:
System.out.println(Integer.parseInt(s1[2]));
break; //请记得每一个case语句内都要加break!
case 2:
System.out.println(Integer.parseInt(s1[2])+31); //case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
break;
case 3:
if(isLeapYear(s1[0]) == true){//是闰年,且输入月份大于2月
System.out.println(31+29+Integer.parseInt(s1[2]));
}else {
System.out.println(31+28+Integer.parseInt(s1[2]));
}
break;
case 4:
if(isLeapYear(s1[0]) == true){
System.out.println(31+29+31+Integer.parseInt(s1[2]));
}else {
System.out.println(31+28+31+Integer.parseInt(s1[2]));
}
break;
case 5:
if(isLeapYear(s1[0]) == true){
System.out.println(31+29+31+30+Integer.parseInt(s1[2]));
}else {
System.out.println(31+28+31+30+Integer.parseInt(s1[2]));
}
break;
case 6:
if(isLeapYear(s1[0]) == true){
System.out.println(31+29+31+30+31+Integer.parseInt(s1[2]));
}else {
System.out.println(31+28+31+30+31+Integer.parseInt(s1[2]));
}
break;
case 7:
if(isLeapYear(s1[0]) == true){
System.out.println(31+29+31+30+31+30+Integer.parseInt(s1[2]));
}else {
System.out.println(31+28+31+30+31+30+Integer.parseInt(s1[2]));
}
break;
case 8:
if(isLeapYear(s1[0]) == true){
System.out.println(31+29+31+30+31+30+31+Integer.parseInt(s1[2]));
}else {
System.out.println(31+28+31+30+31+30+31+Integer.parseInt(s1[2]));
}
break;
case 9:
if(isLeapYear(s1[0]) == true){
System.out.println(31+29+31+30+31+30+31+31+Integer.parseInt(s1[2]));
}else {
System.out.println(31+28+31+30+31+30+31+31+Integer.parseInt(s1[2]));
}
break;
case 10:
if(isLeapYear(s1[0]) == true){
System.out.println(31+29+31+30+31+30+31+31+30+Integer.parseInt(s1[2]));
}else {
System.out.println(31+28+31+30+31+30+31+31+30+Integer.parseInt(s1[2]));
}
break;
case 11:
if(isLeapYear(s1[0]) == true){
System.out.println(31+29+31+30+31+30+31+31+30+31+Integer.parseInt(s1[2]));
}else {
System.out.println(31+28+31+30+31+30+31+31+30+31+Integer.parseInt(s1[2]));
}
break;
case 12:
if(isLeapYear(s1[0]) == true){
System.out.println(31+29+31+30+31+30+31+31+30+31+30+Integer.parseInt(s1[2]));
}else {
System.out.println(31+28+31+30+31+30+31+31+30+31+30+Integer.parseInt(s1[2]));
}
break;
}
}
}
public static boolean isLeapYear(String s1){
if((Integer.parseInt(s1)%100 == 0 && Integer.parseInt(s1)%400 == 0) || (Integer.parseInt(s1)%4 == 0 && Integer.parseInt(s1)%100 !=0)){
return true;
}
return false;
}
查看25道真题和解析
小米集团公司氛围 371人发布