您的位置:首页 > 其它

用户输入年月日,算出那天是该年的第多少天(完美)

2008-08-05 09:51 507 查看
import java.util.Scanner;

public class Test {
public static void main(String[] args) {
int a, b, c, e, f, g, h, i;
Scanner d = new Scanner(System.in);
System.out.print("输入年份:");
a = d.nextInt();
if (a > 2100 || a < 1900) {
System.out.println("您的输入超出范围!");
}
boolean ask = (a % 4 == 0 && a % 100 != 0 || a % 400 == 0);
System.out.print("输入月份:");
b = d.nextInt();
if (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10
|| b == 12) {
f = 31;
} else if (b == 4 || b == 6 || b == 9 || b == 11) {
h = 30;
} else if (b == 2 & ask) {
e = 29;
} else if (b == 2) {
i = 28;
} else {
System.out.println("您的输入超出范围!");
}

System.out.print("输入日期:");
c = d.nextInt();
if (c > 31 || c < 1) {
System.out.println("您的输入超出范围!");
}

f = 31;
h = 30;
e = 29;
i = 28;

switch (b) {
case 1:
g = 0;
break;
case 2:
g = f;
break;
case 3:
if (ask) {
g = f + e;
} else {
g = f + i;
}
break;
case 4:
if (ask) {
g = 2 * f + e;
} else {
g = 2 * f + i;
}
break;
case 5:
if (ask) {
g = 2 * f + e + h;
} else {
g = 2 * f + i + h;
}
break;
case 6:
if (ask) {
g = 3 * f + e + h;
} else {
g = 3 * f + i + h;
}
break;
case 7:
if (ask) {
g = 3 * f + e + 2 * h;
} else {
g = 3 * f + i + 2 * h;
}
break;
case 8:
if (ask) {
g = 4 * f + e + 2 * h;
} else {
g = 4 * f + i + 2 * h;
}
break;
case 9:
if (ask) {
g = 5 * f + e + 2 * h;
} else {
g = 5 * f + i + 2 * h;
}
break;
case 10:
if (ask) {
g = 5 * f + e + 3 * h;
} else {
g = 5 * f + i + 3 * h;
}
break;
case 11:
if (ask) {
g = 6 * f + e + 3 * h;
} else {
g = 6 * f + i + 3 * h;
}
break;
case 12:
if (ask) {
g = 6 * f + e + 4 * h;
} else {
g = 6 * f + i + 4 * h;
}
break;
default:
g = 0;
}
if ((a > 2100 || a < 1900) || (b > 12 || b < 1) || (c > 31 || c < 1)) {
System.out.println("/n说你不对就是不对!");
} else if ((b == 2 && ask && c > 29) || (b == 2 && (!(ask)) && c > 28)) {
System.out.println("您的输入超出范围!");
System.out.println("/n说你不对就是不对!");
} else {
System.out.println("/n您选择的日期是一年中的第" + (g + c) + "天");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: