输入某年某月某日,判断这是这年的第几天????
package com.test;
import org.junit.Test;
import java.util.Scanner;
/*
*作者:郑兴源
* 时间:2021年6月7日
* */
public class demo4_f4 {
//输入某年某月某日,判断这是这年的第几天????
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入年份:");
int year = input.nextInt();
int sumday = 0;
int count = 0;
System.out.println("请输入月份:");
int month = input.nextInt();
if (month > 12 || month < 1) {
System.out.println("月份输入错误!!!!");
}
System.out.println("请输入日期:");
int day = input.nextInt();
if (day > 31 || day < 1) {
System.out.println("日期输入错误@@@");
}
for (int i = 1; i < month; i++) {
if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) {
sumday += 31;
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
sumday += 30;
} else if (i == 2) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
sumday += 29;
} else {
sumday += 28;
}
}
}
count = day + sumday;
System.out.println("今天是:\t" + year + "年" + month + "月" + day + "日" + "\t" +
+year + "已经过去了\t: " + count + " day!");
}
//校验天数是否正确
@Test
public void methods() {
System.out.println(31 + 28 + 1);
}
}
本代码还存在缺陷
比如:输入错误月份 month >12 || month <1 程序应该直接退出,但是程序依旧执行!!
正确输入日期,运行结果正确
作者:wildkid、
时间2021年6月7日