注册 登录
重磅消息:开通VIP会员,获取平台所有项目,永久使用,详细请咨询QQ:3376762016
远程服务部署安装,售后服务,请加QQ1:3376762016,QQ2:3597230140(即将满员),QQ3:1399491757(已满)
查看: 877|回复: 0
打印 上一主题 下一主题

Scanner输入年月日 求星期几

[复制链接]

该用户从未签到

3518

主题

3532

帖子

66万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
668946
QQ
跳转到指定楼层
楼主
发表于 2020-4-21 09:23:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
import java.util.Scanner;

public class Week {

        public static void main(String[] args) {
                int d, n, y, t, x, e, a;

                Scanner input = new Scanner(System.in);
                System.out.print("\n请选择年份: ");
                n = input.nextInt();
                System.out.print("\n请选择月份: ");
                y = input.nextInt();
                System.out.println();

                System.out.print("\n请选择日: ");
                t = input.nextInt();
                System.out.println();
                //判断平年还是闰年
                d = n + (n - 1) / 4 - (n - 1) / 100 + (n - 1) / 400;
                if (n % 4 == 0)
                        a = 28;//平年 28天
                else
                        a = 29;//闰年29天
                //累计天数
                switch (y) {
                case 1:
                        x = t - 1;
                        break;
                case 2:
                        x = t + 30;
                        break;
                case 3:
                        x = a + t + 30;
                        break;
                case 4:
                        x = a + t + 31 + 30;
                        break;
                case 5:
                        x = a + t + 31 + 30 + 30;
                        break;
                case 6:
                        x = a + t + 31 + 30 + 31 + 30;
                        break;
                case 7:
                        x = a + t + 31 + 30 + 31 + 30 + 30;
                        break;
                case 8:
                        x = a + t + 31 + 30 + 31 + 30 + 30 + 31;
                        break;
                case 9:
                        x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31;
                        break;
                case 10:
                        x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30;
                        break;
                case 11:
                        x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 + 31;
                        break;
                case 12:
                        x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 + 30 + 31;
                        break;
                default:
                        x = 0;
                        break;
                }
                //计算星期几
                e = (d + x) % 7;
                if (e == 0)//能整除 表示星期天
                        System.out.println("今天是星期天");
                if (!(e == 0))//不能整除 表示星期 1  到 6
                        System.out.println("这天是星期" + (e + 1));
        }

}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
java无忧网(http://www.javawyw.com),专业提供Java大作业,小作业,课程设计,毕业设计源码,答辩辅导,作业排错,bug修复,专业解答,远程部署运行项目等服务
本网站所有源码,保证能运行!
QQ:1399491757
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部