A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目: 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。

2 个回复

倒序浏览
我觉得最重要的是判断闰年的二月份是多少天!星期几就不会算,只算了天数!
小小程序,望大神指正!
/*
求一个输入一个日期对应的天数:
思路:1.用switch语句的特点来实现!
                switch的特点是先找case,找不到case,再找deflaut,如果找到了
                就按执行执行,遇到break,或者到末尾是才结束!
          2.先加月份数,在加对应的天数

          2.如果是11月份,就要先找到case 11,没遇到break在按顺序加上其他月份的天数!
               
*/
import java.util.Scanner;
class Qiu
{
        public static void main(String[] args)
        {
                int a=0;
                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();
                if(month>1)         //判断月份是整数的
                {
                        switch(month)    //判断是那一月份
                        {
                        case 12:
                                a=a+30;
                        case 11:
                                a=a+31;
                        case 10:
                                a=a+30;
                        case 9:
                                a=a+31;
                        case 8:
                                a=a+31;
                        case 7:
                                a=a+30;
                        case 6:
                                a=a+31;
                        case 5:
                                a=a+30;
                        case 4:
                                a=a+31;
                        case 3:
                                a=a+28;
                        case 2:
                                {
                                        a=a+31;
                                        if(year%400==0||(year%4==0&&year%100==0))//判断是否是闰年!是就加一天
                                                {
                                                        a=a+1;
                                                }
                                }
                               
                        }
                }
                else
                {
                        a=0;
                }
                       
                day=a+day;
                System.out.println("有"+day+"天");
        }
}
回复 使用道具 举报
你的头像 是在看我的吗?
可以用 反向思维考虑
接受到yyyy-mm-dd 后转到时间上,逆着倒回去,在获取星期,天数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马