java实现1.编写一个程序,程序提供两种功能:1)根据用户输入的年份输出该年日历。2) 根据用户输入的日期,输出该天星期。 程序应具有良好的人机交互性能,即:程序应向用户提示功能说明,并可根据用户的功能选择,执行对应的功能,并给出带详细描述信息的最终执行结果。
时间: 2024-02-28 13:53:37 浏览: 107
好的,这是一个比较简单的 Java 程序,可以按照以下步骤进行实现:
1. 在程序中引入 java.util.Scanner 类,用于接收用户的输入。
2. 提供功能说明,让用户选择需要执行的功能。可以使用 System.out.println() 方法进行输出。
3. 如果用户选择了功能 1,让用户输入一个年份,然后根据该年份生成一个日历。可以使用 Calendar 类进行日期的处理,也可以自己编写处理日期的函数。
4. 如果用户选择了功能 2,让用户输入一个日期,然后输出该日期所对应的星期。可以使用 SimpleDateFormat 和 Calendar 类进行日期的处理。
下面是一份示例代码,可以供你参考:
```java
import java.util.Calendar;
import java.util.Scanner;
import java.text.SimpleDateFormat;
public class CalendarProgram {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎使用日历程序,请选择功能:");
System.out.println("1. 根据年份输出日历");
System.out.println("2. 根据日期输出星期");
int choice = scanner.nextInt();
if (choice == 1) {
System.out.println("请输入年份:");
int year = scanner.nextInt();
printCalendar(year);
} else if (choice == 2) {
System.out.println("请输入日期(格式为 yyyy-MM-dd):");
String date = scanner.next();
printWeekday(date);
} else {
System.out.println("输入错误,请重新运行程序。");
}
}
// 根据年份输出日历
public static void printCalendar(int year) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
System.out.println(year + "年的日历:");
for (int i = 0; i < 12; i++) {
System.out.println("\n" + sdf.format(calendar.getTime()) + " 星期" + (calendar.get(Calendar.DAY_OF_WEEK) - 1) + "\n");
System.out.println("日\t一\t二\t三\t四\t五\t六");
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
for (int j = 0; j < firstDayOfWeek; j++) {
System.out.print("\t");
}
for (int j = 1; j <= days; j++) {
System.out.print(j + "\t");
if ((j + firstDayOfWeek) % 7 == 0) {
System.out.print("\n");
}
}
calendar.add(Calendar.MONTH, 1);
}
}
// 根据日期输出星期
public static void printWeekday(String date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
try {
calendar.setTime(sdf.parse(date));
int weekday = calendar.get(Calendar.DAY_OF_WEEK) - 1;
String[] weekdays = {"日", "一", "二", "三", "四", "五", "六"};
System.out.println(date + " 是星期" + weekdays[weekday]);
} catch (Exception e) {
System.out.println("日期格式错误,请输入正确的日期(格式为 yyyy-MM-dd)。");
}
}
}
```
希望这份代码可以帮助到你。如果你有任何疑问或者需要进一步的帮助,请随时问我。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)