Java实现: 输入某年某月某日,求这一天是这一年的第几天和星期几。注意: 0表示星期天,1表示星期一,依此类推; 输入描述 输入包括一行,分别是年月日。以空格分割,保证日期合法。 输出描述 在一行依次输出这一天是这一年的第几天和星期几,以空格分割。 示例1 输入输出示例仅供调试,后台判题数据一般不包含示例输入 201631 输出 612 备注 1.闰年标准:非整百年,能被4整除的为闰年;整百年,能被400整除的是闰年(例如1900年不是闰年,2000年为闰年) 2.1970年1月1日为星期四 3.不可使用java现有时间工具类。
时间: 2024-03-22 12:41:10 浏览: 179
好的,以下是 Java 代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 定义每个月的天数
int[] monthDays = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 获取输入的年月日
int year = sc.nextInt();
int month = sc.nextInt();
int day = sc.nextInt();
// 判断是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
monthDays[1] = 29;
}
// 计算这一天是这一年的第几天
int dayCount = 0;
for (int i = 0; i < month - 1; i++) {
dayCount += monthDays[i];
}
dayCount += day;
// 计算这一天是星期几
int weekDay = (dayCount + 3) % 7; // 1970年1月1日是星期四,所以要加3
// 输出结果
System.out.println(dayCount + " " + weekDay);
sc.close();
}
}
```
你可以把这段代码复制到你的开发环境中运行,输入年月日,就可以得到这一天是这一年的第几天和星期几。注意,这段代码中不能使用 Java 现有的时间工具类,否则就违背了题目要求。
阅读全文