计算从键盘获得的日期是2019年的第几天

/**
*文件名:Practice1.java;
*描述:计算从键盘获得的日期是2019年的第几天
*作者:kyx
*时间:2019.01.03
*备注:也可以使用switch语句完成,此时注意case 中的月份要从大到小排列,且没有break(从而实现累加),一月份直接等于date值。
/
import java.util.
;
public class Practice1 {

public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入月份和日期:");
	int month = sc.nextInt();
	int date = sc.nextInt();
	//m[]表示各月份的天数
	int[] m = new int[]{0,31,28,31,30,31,30,31,31,30,31,30,31};
	int sum = 0;
	for(int i=0;i<month;++i){//注意此处为小于month,因为month-1个月是完整地度过
		sum+=m[i];//而第month个月只度过了date天
	}
	sum+=date;
	System.out.println(month+"月"+date+"日是2019年的第"+sum+"天");

}

}

### 回答1: 以下是Python代码实现: ```python date_str = input("请输入日期(格式为YYYY-MM-DD):") year, month, day = map(int, date_str.split("-")) days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0): days_in_month[1] = 29 # 闰2有29天 total_days = sum(days_in_month[:month-1]) + day print(f"{year}{month}{day}是这一的第{total_days}天。") ``` 代码解释: 1. 首先从键盘输入日期字符串,使用`split`方法将其拆分为三个整数。 2. 定义一个列表`days_in_month`,存储每个的天数。默认情况下2有28天。 3. 判断输入份是否为闰,如果是,则将`days_in_month`列表中2的天数改为29。 4. 计算输入日期是这一第几天,即前面所有份的天数之和加上当前份的天数。 5. 使用`print`函数输出结果。 示例输出: ``` 请输入日期(格式为YYYY-MM-DD):2022-03-15 2022315是这一的第74天。 ``` ### 回答2: 本题的解决方案需要借助闰和平的概念,以及通过程序从键盘输入一个日期,并将其分离为的数字。 首先,根据闰和平的规则,闰指的是能够被4整除同时不能被100整除,或者是能够被400整除的份;平则为不符合这一条件的份。 其次,要求将从键盘输入日期拆分为三个数字,可以使用字符串切片的方法将日期字符串划分为子字符串,然后通过类型转换将其转换为整型数值。例如,假设输入日期格式为YYYY-MM-DD,则可以使用以下代码来分离日期: ``` date_str = input("请输入日期,格式为YYYY-MM-DD:") year = int(date_str[:4]) month = int(date_str[5:7]) day = int(date_str[8:]) ``` 最后,根据每个的天数以及闰平的规则,可以编写程序计算出该日期是这一第几天计算公式为: ``` if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: days_per_month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] else: days_per_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] total_days = sum(days_per_month[:month-1]) + day print("该日期是这一的第{}天。".format(total_days)) ``` 在以上代码中,通过判断份是否为闰来确定每个的天数列表(days_per_month),然后使用列表切片的方式将该之前的所有天数相加,并加上当的天数,即为该日期是这一第几天。 以上是编写程序从键盘输入一个日期计算输出日期是这一第几天的方法介绍和实现代码。 ### 回答3: 编写程序实现从键盘输入一个日期,可以按照以下步骤实现: 1. 首先,提示用户输入一个日期,要求日期格式为“--”,例如“2022-08-01”。 2. 接着,为了提取出日期中的,可以使用字符串的切割(substring)功能,或者使用正则表达式的匹配(match)功能。具体实现方法取决于编程语言。 3. 提取出之后,可以通过以下公式计算出该日期是这一第几天: ``` day_of_year = day + sum(days_in_month[1:month-1]) ``` 其中,`day`表示日期中的,`month`表示日期中的,`days_in_month`是一个列表,用于存储每个份的天数。例如,对于平,`days_in_month=[31,28,31,30,31,30,31,31,30,31,30,31]`。 4. 最后,输出计算得到的结果,即该日期是这一第几天。 需要注意的是,对于闰,二份的天数为29天。因此,需要根据闰判断的规则,确定该是否是闰。通常,闰的判断规则如下: 1. 能被4整除但不能被100整除的份是闰,如2004就是闰,1900不是闰。 2. 能被400整除的份也是闰,如2000是闰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值