写一个Java程序,提示用户输入当前日期、周几以及未来的某个日期,输出未来改日的星期几信息。 样例输入: 2024 9 17 2 // 2表示周二,3表示周三,0表示周日 2025 7 23 样例输出: 今日是周二,2025年7月23日为周三。
时间: 2024-09-14 07:12:59 浏览: 36
在Java中,可以利用`java.util.Calendar`和`java.util.GregorianCalendar`类来处理日期和时间,以及利用`java.text.SimpleDateFormat`类来格式化日期输出。下面是一个简单的Java程序示例,它接收用户的输入,然后计算并输出未来日期对应的星期几信息:
```java
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;
import java.text.SimpleDateFormat;
public class FutureDateInfo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy MM dd");
// 用户输入当前日期、周几以及未来的某个日期
System.out.println("请输入当前日期和周几(格式:年 月 日 周几),例如:2024 9 17 2");
int year = scanner.nextInt();
int month = scanner.nextInt();
int day = scanner.nextInt();
int weekday = scanner.nextInt(); // 0表示周日,1表示周一,...,6表示周六
System.out.println("请输入未来的某个日期(格式:年 月 日),例如:2025 7 23");
int futureYear = scanner.nextInt();
int futureMonth = scanner.nextInt();
int futureDay = scanner.nextInt();
// 创建并设置当前日期和未来的日期
Calendar today = new GregorianCalendar(year, month - 1, day);
Calendar future = new GregorianCalendar(futureYear, futureMonth - 1, futureDay);
// 输出当前日期信息和未来日期的星期几信息
System.out.println("今日是周" + weekday + "," + dateFormat.format(today.getTime()));
future.add(Calendar.DAY_OF_MONTH, -today.get(Calendar.DAY_OF_WEEK) + weekday + 1);
int futureWeekday = future.get(Calendar.DAY_OF_WEEK);
String[] weekdays = {"日", "一", "二", "三", "四", "五", "六"};
System.out.println("将来的" + dateFormat.format(future.getTime()) + "为周" + weekdays[futureWeekday - 1] + "。");
}
}
```
这个程序首先提示用户输入当前日期和周几,然后输入未来的某个日期。程序会计算出用户输入的未来日期是星期几,并按照周日到周六的顺序输出对应的星期几信息。
注意:用户输入的周几数字与实际星期的对应关系是基于0代表周日、1代表周一的约定。这一点在提示用户输入时应该清楚地告知。
阅读全文