使用Java输入一个日期,格式如右所示:2003-5-29。能判断并输出“该日期是星期几”。代码保存在ex5类包中的DayOfTheWeekTest.java中。
时间: 2024-03-06 16:46:58 浏览: 174
好的,以下是代码:
```java
package ex5;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class DayOfTheWeekTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个日期,格式为yyyy-MM-dd:");
String input = scanner.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(input);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
System.out.println("该日期是" + weekDays[dayOfWeek - 1]);
} catch (ParseException e) {
System.out.println("日期格式错误!");
}
}
}
```
解释如下:
1. 首先创建一个 Scanner 对象,用于读取用户输入的日期字符串。
2. 创建一个 SimpleDateFormat 对象,用于将字符串解析为日期对象。
3. 调用 sdf.parse() 方法将输入的字符串解析为日期对象。
4. 创建一个 Calendar 对象,将日期对象设置为该 Calendar 对象的时间。
5. 调用 calendar.get(Calendar.DAY_OF_WEEK) 方法获取该日期是星期几,注意返回值是 1 到 7,分别对应星期日到星期六。
6. 创建一个字符串数组 weekDays,用于存储星期日到星期六的字符串。
7. 输出结果,注意数组下标要减去 1。
希望这个代码对你有帮助!
阅读全文