JAVA-如何计算用户输入的一个月的最后一天
如果用户输入一个月的数值1-12,我如何更改下面的代码,以便它输出用户输入的该月的最大天数JAVA-如何计算用户输入的一个月的最后一天,java,Java,如果用户输入一个月的数值1-12,我如何更改下面的代码,以便它输出用户输入的该月的最大天数 import java.util.*; public class LastDay { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); GregorianCalendar cal = new GregorianCalendar(); int myMo
import java.util.*;
public class LastDay {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
GregorianCalendar cal = new GregorianCalendar();
int myMonth;
System.out.println("Enter the month number (1-12): ");
myMonth = scanner.nextInt();
System.out.println("Maximum number of days is: " + Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH));
}
}
目前,它输出我们当前所在月份(3月份)的最大天数。我想让它为用户输入的myMonth值执行此操作
import java.util.*;
public class LastDay {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
GregorianCalendar cal = new GregorianCalendar();
int myMonth;
System.out.println("Enter the month number (1-12): ");
myMonth = scanner.nextInt();
System.out.println("Maximum number of days is: " + Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH));
}
目前,它输出我们当前所在月份(3月份)的最大天数
Calendar.getInstance()
返回当前时间,从而返回当前月份。你应该:
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, myMonth - 1);
int actualMax = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
创建一个新的Calendar对象,并将其月份设置为用户输入的值-1(如Calendar中以0开头的月份)
然后获取该日历的实际最大值答案更像是前两个答案的组合 例如,要获得二月的最大天数,myMonth将等于2
public static void main(String[] args){
int myMonth = 2;
Calendar c = Calendar.getInstance();
c.set(Calendar.MONTH, myMonth - 1);
System.out.println(c.getActualMaximum(Calendar.DAY_OF_MONTH));
}
如果您使用的是Yoda time,则更简单:
DateTime last = new DateTime().
withMonthOfYear(myMonth).
dayOfMonth().withMaximumValue();
您必须在以下日期之前设置月份:
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.MONTH, myMonth - 1);
System.out.println("Maximum number of days is: " + cal.getActualMaximum(Calendar.DAY_OF_MONTH));
}哎呀,我想我的回答是重复@ozgd的。任何一个都会给你你需要的。它不是仍然为当前月份产生价值吗?我的手,他们吃了我想写的东西的一部分-现在修复:)谢谢你,我用这个也包括一年,所以闰年是正确的二月。谢谢