展开全部
import java.util.GregorianCalendar;
import java.util.Scanner;
/**
*
* @author zhangmuyu
*
*/
public class Day {
private int year;
private int month;
private int day;
private int days;
boolean flag = false;
Scanner sc = new Scanner(System.in);
public void input() {
32313133353236313431303231363533e59b9ee7ad9431333431343632GregorianCalendar gre = new GregorianCalendar();
days = 0;
System.out.println("请输入年份:");
year = sc.nextInt();
flag = gre.isLeapYear(year);// 是否闰年
jdugeMonth();
jdugeDay();
System.out.println("你查询的日期为:" + year + "年" + month + "月" + day + "日");
sc.close();
output();
}
private void jdugeMonth() {// 判断月份
System.out.println("请输入月份:");
month = sc.nextInt();
if (!(month > 0 && month <= 12))
jdugeMonth();
}
private void jdugeDay() {// 判断日期
System.out.println("请输入日期:");
day = sc.nextInt();
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
if (!(day > 0 && day <= 31))
jdugeDay();
} else if (month == 2) {
if (flag) {
if (!(day > 0 && day <= 29))
jdugeDay();
} else {
if (!(day > 0 && day <= 28))
jdugeDay();
}
} else {
if (!(day > 0 && day <= 30))
jdugeDay();
}
}
private void output() {
for (int month = 1; month
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
days += 31;
else if (month == 2) {
if (flag)// 是否闰年
days += 29;
else
days += 28;
} else
days += 30;
}
days += day;
System.out.println(year + "年" + month + "月" + day + "日为" + year + "年的第" + days + "天");
}
public static void main(String[] args) {
Day day = new Day();
day.input();
}
}
希望能帮到你,遗漏了一个2月份天数的判断