输入年月日判断每年天数和周几

输入年月日判断为今年的第几天和周几?

判断今年第几天的方法:

package com.stx.xy.testdate;

public class Date {
    public int day(int year,int month,int day){
        int fed = 28;
        int sum = 0;
        if ((year%4==0&&year%100!=0)||year%400==0){
            fed = 29;
        }
        switch (month){
            case 1:
                sum = day;
                break;
            case 2:
                sum = 31+day;
                break;
            case 3:
                sum = 31+fed+day;
                break;
            case 4:
                sum = 31+fed+31+day;
                break;
            case 5:
                sum = 31+fed+31+30+day;
                break;
            case 6:
                sum = 31+fed+31+30+31+day;
                break;
            case 7:
                sum = 31+fed+31+30+31+30+day;
                break;
            case 8:
                sum = 31+fed+31+30+31+30+31+day;
                break;
            case 9:
                sum = 31+fed+31+30+31+30+31+31+day;
                break;
            case 10:
                sum = 31+fed+31+30+31+30+31+31+30+day;
                break;
            case 11:
                sum = 31+fed+31+30+31+30+31+31+30+31+day;
                break;
            case 12:
                sum = 31+fed+31+30+31+30+31+31+30+31+30+day;
                break;
        }
        System.out.println(year+"年"+month+"月"+day+"日是"+year+"年的第"+sum+"天");
        return sum;
    }
}

判断为周几的方法:

package com.stx.xy.testdate;

public class Week {
    //公元1年1月1日星期天
    public void week(int year,int month,int day,int sum){
        for (int i =1;i <year;i++){
            if((i%4 == 0&&i%100!=0)||i%400==0){
                sum +=366;
            }else {
                sum += 365;
            }
        }
        if (sum % 7 ==0){
            System.out.println("今天是周日");
        }else {
            System.out.println("今天是周"+sum%7);
        }
    }


}

主类:

package com.stx.xy.testdate;

import java.util.Scanner;

public class TestDate {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Date date = new Date();
        Week week = new Week();
        System.out.println("请输入年:");
        int y = sc.nextInt();
        while (true){
            System.out.println("请输入月:");
            int m = sc.nextInt();
            System.out.println("请输入日:");
            int d = sc.nextInt();
            if (m<=12&&d<=31){
                int sum =date.day(y,m,d);
                week.week(y,m,d,sum);
                break;
            }else {
                System.out.println("月/日输入错误,请重新输入。");
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值