用Java编写 输入年与月,来判定该月一共有多少天 比如2008年2月 2008年是闰年,其2?

用Java编写 输入年与月,来判定该月一共有多少天
比如2008年2月
2008年是闰年,其2月是29天,输出29
任务二:根据上面的程序流程图,设计一个JudgeDay类,在其类设计一个静态方法dayOfMonth

设计一个JudgeDay类,其中包含一个静态方法dayOfMonth(),用于判断某一年某个月的天数。具体代码如下所示:
public class JudgeDay {
/**
* 判断某一年某个月的天数
* @param year 年份
* @param month 月份
* @return 该月的天数
*/
public static int dayOfMonth(int year, int month) {
// 创建Calendar对象并设置年月
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DATE, 1);
// 获取该年月的最大天数
int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// 返回该月的天数
return maxDay;
}
}
在上述代码中,我们定义了一个静态方法dayOfMonth(),该方法接受年份和月份作为参数,返回该年月的天数。具体实现方式与前面的示例代码类似,使用Calendar类获取该年月的最大天数,并返回该天数。
使用该方法可以在其他类中直接调用在其他类中使用JudgeDay类的dayOfMonth()方法可以直接调用,示例代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份:");
int month = scanner.nextInt();
// 调用JudgeDay类的dayOfMonth()方法获取该月的天数
int maxDay = JudgeDay.dayOfMonth(year, month);
// 输出该月的天数
System.out.println(year + "年" + month + "月共有" + maxDay + "天");
}
}
在上述代码中,我们先通过Scanner类获取用户输入的年份和月份,然后调用JudgeDay类的dayOfMonth()方法获取该年月的天数,并输出该月的天数。需要注意的是,在调用dayOfMonth()方法时,需要使用类名.方法名的方式进行调用,因为该方法是一个静态方法。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-05-07
以下是一个简单的Java程序,用于根据输入的年份和月份来确定该月有多少天:
```java
import java.util.Scanner;
public class JudgeDay {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年份:");
int year = scanner.nextInt();
System.out.print("请输入月份:");
int month = scanner.nextInt();
int days = dayOfMonth(year, month);
System.out.println(year + "年" + month + "月共有" + days + "天");
}

public static int dayOfMonth(int year, int month) {
int days = 0;
switch (month) {
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days = 29;
} else {
days = 28;
}
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
break;
}
return days;
}
}
```
上述程序中,`dayOfMonth()` 方法是一个静态方法,它接收两个参数 `year` 和 `month`,返回对应年份和月份的天数。在 `main()` 方法中,我们通过 `Scanner` 类来获取用户输入的年份和月份,并调用 `dayOfMonth()` 方法来计算该月有多少天。最后输出结果。
以上程序仅提供一个简单的实现示例,实际应用中可能需要考虑更多的情况,例如输入的年份和月份是否合法,如何处理输入错误等。
大家正在搜