用户输入年月日,算出那天是该年的第多少天(完美)
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) + "天");
}
}
}
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) + "天");
}
}
}
相关文章推荐
- 输入年月日,算出那天是当年的第几天
- 输入年月日,算出那天是当年的第几天
- 用户输入年月日,计算那天是星期几
- 根据用户输入的时间查询那天的数据
- 30.输入年月日,判断它是该年的第多少天
- 代码:准确算出用户输入的日期是星期几!
- 编程题:用函数实现,用户输入年月日,来计算出该日期为当年第几天?
- 输入年月日计算出是该年的第多少天
- 输入某个年月日得到那天是星期几的小程序
- Zukimac 一款完美的 Ubuntu 用户 MAC 主题
- DataGridView使用技巧十一:DataGridView用户输入时,单元格输入值的设定
- Python入门到实践(7) -用户输入与while循环
- 要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到 Student 类中作为类的私有属性。创建一个Student类型的对象数组,对学号进行 升序排序并输出。
- MFC实现类似QQ消息弹出框置顶但不抢用户输入焦点
- 修改/etc/profile后输入正确的用户…
- 用户输入一个数字,判断这个数字是否是质数。
- python之验证用户输入
- 用户输入校对函数
- sublime text2中文输入完美解决
- android模拟用户输入