计算某天是一年中的第几天(java)switch语句

题目描述

编写一个程序,用户从键盘中输入年月日,在屏幕上输出此日期是该年的第几天。

题目分析

1:从键盘键入年月日
2:判断是否是闰年
3:使用switch循环计算具体天数 case从12到1,而不是从1到12,这样更能遍历month及month之前的月份

具体代码

import java.util.*;
public class JDate {
    public static void main(String[] args) {
        java.util.Scanner in=new Scanner(System.in);
        int year=in.nextInt();
        int month=in.nextInt();
        int day=in.nextInt();//输入
        boolean juge=false;
        int sum=0;//计算天数
        if(year%4==0&&year%100!=0||year%400==0)//判断是否是闰年
            juge=true;
        switch(month)
        {
            case 12:
                    sum+=day;
            case 11:
                if(month==11)
                    sum+=day;
                else
                    sum+=30;
            case 10:
                if(month==10)
                    sum+=day;
                else
                    sum+=31;
            case 9:
                if(month==9)
                    sum+=day;
                else
                    sum+=30;
            case 8:
                if(month==8)
                    sum+=day;
                else
                    sum+=31;
            case 7:
                if(month==17)
                    sum+=day;
                else
                    sum+=31;
            case 6:
                if(month==6)
                    sum+=day;
                else
                    sum+=30;
            case 5:
                if(month==5)
                    sum+=day;
                else
                    sum+=31;
            case 4:
                if(month==4)
                    sum+=day;
                else
                    sum+=30;
            case 3:
                if(month==3)
                    sum+=day;
                else
                    sum+=31;
            case 2:
                if(month==2)
                    sum+=day;
                else {
                    if(juge)
                        sum+=28;
                    else
                        sum+=29;
                }
            case 1:
                if(month==1)
                    sum+=day;
                else
                    sum+=31;
        }
        System.out.println(sum);
    }
}

如有错误,恳请指正

你可能感兴趣的:(java代码训练,java,开发语言,算法)