java编写 输入年月,显示这个月的天数。
时间: 2024-10-01 09:02:15 浏览: 35
在Java中,你可以使用java.time包下的MonthDay类来获取指定月份的天数。以下是一个简单的示例代码片段:
```java
import java.time.MonthDay;
import java.time.format.DateTimeFormatter;
public class MonthDays {
public static void main(String[] args) {
// 输入年月
int year = 2023; // 这里假设用户输入的是2023年
int month = 12; // 这里假设用户输入的是12月
// 创建MonthDay对象并获取该月的天数
MonthDay monthDay = MonthDay.of(year, month);
int daysInMonth = monthDay.lengthOfMonth();
// 格式化并打印结果
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
System.out.println("年" + year + "月" + month + "的天数是:" + daysInMonth);
相关问题
java编写 随机输入年月,要求显示这个月的天数。
在Java中,你可以使用`java.time`包下的`MonthDay`类来获取指定月份的天数。首先,你需要让用户输入年份和月份,然后创建一个`MonthDay`实例,最后获取并打印出该月份的总天数。以下是一个简单的示例:
```java
import java.time.Month;
import java.time.MonthDay;
public class MonthDaysCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份(1-12):");
int month = scanner.nextInt();
// 检查输入是否合法
if (month < 1 || month > 12) {
System.out.println("月份无效,请输入1到12之间的数字。");
return;
}
MonthMonthDay monthDay = MonthDay.of(year, month);
int daysInMonth = monthDay.lengthOfMonth(); // 获取该月天数
System.out.printf("年份 %d 的 %d 月有 %d 天。\n", year, month, daysInMonth);
}
}
```
在这个示例中,我们首先读取用户的输入,然后创建`MonthDay.of()`方法的实例,它会返回对应年份和月份的月日组合。`lengthOfMonth()`方法用于获取该月的实际天数。
Java编写一个程序计算两个日期相差的天数输入两个日期,每个日期分占一行,在一行中日期的年月日是三个整数,以空格分隔,并假设第二个日期大于或等于第一个日期
在Java中,你可以通过Scanner类从用户那里接收输入的日期,然后使用`java.time.LocalDate`类来计算这两个日期之间的天数差。这里是一个基本的示例程序:
```java
import java.util.Scanner;
import java.time.LocalDate;
public class DateDiffCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个日期 (格式:YYYY-MM-DD):");
String date1Input = scanner.nextLine();
int year1 = Integer.parseInt(date1Input.substring(0, 4));
int month1 = Integer.parseInt(date1Input.substring(5, 7));
int day1 = Integer.parseInt(date1Input.substring(8));
System.out.println("请输入第二个日期 (格式:YYYY-MM-DD):");
String date2Input = scanner.nextLine();
int year2 = Integer.parseInt(date2Input.substring(0, 4));
int month2 = Integer.parseInt(date2Input.substring(5, 7));
int day2 = Integer.parseInt(date2Input.substring(8));
LocalDate date1 = LocalDate.of(year1, month1, day1);
LocalDate date2 = LocalDate.of(year2, month2, day2);
// 确保date2大于或等于date1
if (date2.isBefore(date1)) {
LocalDate temp = date2;
date2 = date1;
date1 = temp;
}
Period period = Period.between(date1, date2);
int daysDifference = period.getDays();
System.out.println("两个日期相差 " + daysDifference + " 天.");
}
}
```
这个程序首先从用户那里获取输入的日期字符串,然后解析成`LocalDate`对象。如果第二个日期小于第一个日期,它会交换它们的位置,确保`date2`始终大于或等于`date1`。然后,它计算并打印出两个日期之间的天数差。
阅读全文