java无忧网

标题: Scanner输入年月日 求星期几 [打印本页]

作者: java无忧网    时间: 2020-4-21 09:23
标题: Scanner输入年月日 求星期几
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));
        }

}







欢迎光临 java无忧网 (http://www.javawyw.com/) Powered by Discuz! X3.2