用java输入一个年份和一个月份,判断该年该月有多少天
时间: 2023-04-03 12:03:52 浏览: 218
您好,根据输入的年份和月份,可以使用Java中的Calendar类来判断该月份有多少天。具体实现可以参考以下代码:
```
import java.util.Calendar;
public class DaysInMonth {
public static void main(String[] args) {
int year = 2021; // 输入的年份
int month = 8; // 输入的月份
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, 1); // 设置日期为该年该月的第一天
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); // 获取该月份的天数
System.out.println(year + "年" + month + "月有" + days + "天");
}
}
```
以上代码中,首先通过`Calendar.getInstance()`方法获取一个Calendar实例,然后使用`set()`方法设置日期为该年该月的第一天,最后使用`getActualMaximum()`方法获取该月份的天数。最终输出结果为:2021年8月有31天。
相关问题
用java的Switch语句输入一个年份和一个月份,判断该年该月有多少天
您好,根据您的输入,我可以回答您的问题。以下是代码示例:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入年份:");
int year = input.nextInt();
System.out.print("请输入月份:");
int month = input.nextInt();
int days = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days = 29;
} else {
days = 28;
}
break;
default:
System.out.println("输入的月份不合法!");
return;
}
System.out.println(year + "年" + month + "月有" + days + "天。");
}
}
```
希望能够帮到您!
3.用JAVA输入一个年份,一个月份,判断该年该月有多少天(使用switch,注意要判断2月是多少天)
在Java中,你可以使用`switch`语句配合闰年规则来计算指定年份和月份的天数。对于非闰年的2月,有28天;而闰年的2月则有29天。以下是实现此功能的代码示例:
```java
import java.util.Scanner;
public class DayCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份:");
int month;
do {
if (scanner.hasNextInt()) {
month = scanner.nextInt();
} else {
System.out.println("输入错误,请输入一个数字(1-12):");
scanner.next(); // 清除非法字符
}
} while (month < 1 || month > 12);
int daysInMonth;
switch (month) {
case 2: // 判断是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
daysInMonth = 29;
} else {
daysInMonth = 28;
}
break;
case 4: // April
case 6: // June
case 9: // September
case 11: // November
daysInMonth = 30;
break;
default: // 其他非二月的月份
daysInMonth = 31;
break;
}
System.out.printf("该年%02d月共有%d天.\n", month, daysInMonth);
scanner.close();
}
}
```
这段代码首先读取用户输入的年份和月份,然后通过`switch`语句根据月份的不同分配相应的天数。如果是2月,会额外检查是否为闰年。其它月份的天数则是固定的。
阅读全文