初学java简单程序(eclipse),在键盘上输入2021年的某一天(几月几号),输出这是2021年的第几天,以及星期几,并判断出该年份是否为闰年。

import java.util.Scanner;
public class case6 {
    public static void main(String[] args) {
        System.out.print("请输入2021年的某个日期"+'\n'+"请先输入月份:");
        Scanner scan = new Scanner(System.in);
        int m = scan.nextInt();
        System.out.print("请输入几号:");
        int d = scan.nextInt();
        System.out.println("您输入的日期为:"+m+"月"+d+"日");
        int sumDay = 0;
        switch(m){
        case 12:
            sumDay +=30;
        case 11:
            sumDay +=31;
        case 10:
            sumDay +=30;
        case 9:
            sumDay +=31;
        case 8:
            sumDay +=31;
        case 7:
            sumDay +=30;
        case 6:
            sumDay +=31;
        case 5:
            sumDay +=30;
        case 4:
            sumDay +=31;
        case 3:
            sumDay +=28;
        case 2:
            sumDay +=31;
        case 1:
            sumDay += d;
        }
        int week;
        String weeked ="";
        week = sumDay%7;
        switch(week){
        case 0:
            weeked = "四,加油工作";
            break;
        case 1:
            weeked = "五,加油工作";
            break;
        case 2:
            weeked = "六,放假啦";
            break;
        case 3:
            weeked = "天,放假啦";
            break;
        case 4:
            weeked = "一,加油工作";
            break;
        case 5:
            weeked = "二,加油工作";
            break;
        case 6:
            weeked = "三,加油工作";
            break;
        }
        System.out.println("这是2021年的第"+sumDay+"天!");
        System.out.print("星期"+weeked+"!");
    scan.close();
    }

}

运行截图:

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 可以使用 Python 的 `datetime` 库来解决这个问题。代码示例如下: ``` import datetime def year_day(year, month, day): date = datetime.datetime(year, month, day) return date.strftime("%j") ``` 调用时可以这样: ``` year_day(2022, 3, 3) # 输出 "062" ``` 其,`%j` 表示一第几天。 ### 回答2: 题目分析: 这道题需要我们考虑几个问题,首先是如何输入,这需要用到python的input函数;其次需要判断输入年份是否闰年,因为闰年与非闰年每个数是不同的;最后需要计算输入日期是这一第几天,所以要进行数的累加。 解题思路: 首先,通过input函数输入,分别保存到三个变量,由于input函数输入的是字符串类型,需要用int()函数将其转换为整数类型。 然后,需要判断输入年份是否闰年,通过判断年份是否能够被4整除并且不能被100整除,或者能够被400整除,如果是,则当前年份闰年,否则不是。 接下来,需要判断输入份有多少。根据闰年与非闰年每个数不同,我们可以先将每个数保存在一个列表,然后通过判断输入年份是否闰年来选择从哪个列表获取每个数。最后,对输入份之前的所有数求和,再加上输入日期,就是这一第几天。 具体实现: 以下是具体的代码实现(Python3): ```Python year = int(input("请输入年份:")) month = int(input("请输入份:")) day = int(input("请输入日期:")) # 判断是否闰年 if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: is_leap = True else: is_leap = False # 每个数 month_days = [31, 28 + is_leap, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 计算是这一第几天 day_count = sum(month_days[:month-1]) + day print(f"{year}{month}{day}是这一的第{day_count}。") ``` 总结: 通过以上的代码实现,我们可以判断任意一个日期是这一第几天。对于python初学者来说,实现该题目是一次较好的练习机会,可以对输入输出、条件判断、列表等python内容进行进一步的巩固和学习。 ### 回答3: 首先,我们需要知道一每个数。通常一有12个,分别为1到12。其1、3、5、7、8、10、12共有31,4、6、9、11共有30,2则分为闰年和平闰年2有29,平2有28判断某一是否闰年,我们需要用到以下规则: 1.普通闰年:公历年份是4的倍数的,一般是闰年。 2.世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年。 因此,我们可以先写出判断闰年的函数,代码如下: def is_leap_year(year): return (year % 4 == 0 and year % 100 != 0) or year % 400 == 0 接着我们可以编写计算数的函数,流程如下: 1.判断是否闰年,确定2数; 2.根据计算出前面几个的总数; 3.加上当前份的数,得到结果。 代码如下: def get_day_of_year(year, month, day): # 判断是否合法 if month not in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]: raise ValueError('Invalid month') # 判断是否合法 if day < 1 or day > 31: raise ValueError('Invalid day') # 判断是否闰年,确定2数 if is_leap_year(year): days_of_month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] else: days_of_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 计算前面几个的总数 days = sum(days_of_month[:month - 1]) # 加上当前份的数 days += day return days 最后,我们可以调用这个函数来计算一天是在这一第几天。例如,输入202251,运行代码如下: get_day_of_year(2022, 5, 1) 结果为121,即51是2022的第121

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水城十三郎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值