求输入日期在一年的第几天

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//输入年月日三个值,求所输入的日是这一年的第几天(限定只能用switch来实现)
//思路:先用Scanner获取用户输入,先不考虑闰年,如果输入的是2022.3.31
//那我们是不是就可以月份-1再加上我们这个月的天数算出第几天
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
System.out.println("请输入月份:");
int month = sc.nextInt();
System.out.println("请输入日份:");
int day = sc.nextInt();
 
int days = 0;
 
//这里用到的是switch没有break穿刺的特性
switch(month-1){
    case 11:
        days += 30;
    case 10:
        days += 31;
    case 9:
        days += 30;
    case 8:
        days += 31;
    case 7:
        days += 31;
    case 6:
        days += 30;
    case 5:
        days += 31;
    case 4:
        days += 30;
    case 3:
        days += 31;
    case 2:
        days += 28;
    case 1:
        days += 31;
    default:
        break;
}
days = day+days;
 
//判断是否为闰年,是否需要加上一天,这里要注意month不能等于1或者2不然会出bug
if ((month != 1 && month != 2 )&& (year % 4 == 0 && year % 100 !=0 || year % 400 == 0)){
    days+=1;
}
System.out.println("总天数"+days);

  

posted @   ttsx123  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示