输入一个日期,格式如右所示:2003-5-29。能判断并输出“该日期是星期几”。代码保存在ex5类包中的DayOfTheWeekTest.java中。
时间: 2024-03-05 09:53:44 浏览: 113
好的,下面是代码实现:
```java
package ex5;
import java.text.DateFormat;
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("请输入一个日期(格式:2003-5-29):");
String dateStr = scanner.nextLine();
scanner.close();
DateFormat dateFormat = new SimpleDateFormat("yyyy-M-d");
Date date = null;
try {
date = dateFormat.parse(dateStr);
} catch (ParseException e) {
System.out.println("日期格式错误,请重新输入!");
return;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
String[] weekdays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
System.out.printf("%s是%s\n", dateStr, weekdays[dayOfWeek]);
}
}
```
以上代码实现了题目所要求的功能:从字符串类型转换为Date类型,再从Date类型转换为Calendar类型,最后获取该日期是星期几。我们使用了Calendar类的DAY_OF_WEEK属性来获取星期几,其中1表示星期日,2表示星期一,以此类推。注意:在Calendar类中,月份是从0开始的,所以实际月份需要加1。
阅读全文