Java - LocalDate 比较超出范围但输出不正确
Java - LocalDate comparison out of range but incorrect output
我正在尝试将两个日期与日期列表进行比较(列表元素已被删除,因为它需要更多 类 提供,所以我只是将它的基本要求提供给 运行)
列表比较的两个日期是一个日期范围,用于识别在此范围内的对象
当提供两个正确的日期作为范围时,输出很好
当提供的范围不正确(结束日期早于开始日期)未输出无效日期范围时出现问题
package test;
import java.time.LocalDate;
public class A1 {
public void searchEnrolments(int StartDay, int StartMonth, int StartYear, int EndDay, int EndMonth, int EndYear) {
LocalDate a = LocalDate.of(StartYear, StartMonth, StartDay);
LocalDate b = LocalDate.of(EndYear, EndMonth, EndDay);
boolean before = a.isBefore(b);
if (before = true) {
System.out.println("Out of range: ");
}
else {
System.out.println("Invalid Date Range");
}
}
}
package test;
public class aTester {
public static void main(String[] args) {
A1 a2= new A1();
a2.searchEnrolments(20, 04, 2020, 10, 02, 2019);
}
}
发生这种情况是因为您没有使用“==”等号运算符。您正在 if 子句中分配值。
只需替换if子句-
if (before == true) {
System.out.println("Out of range: ");
}
else {
System.out.println("Invalid Date Range");
}
}
我正在尝试将两个日期与日期列表进行比较(列表元素已被删除,因为它需要更多 类 提供,所以我只是将它的基本要求提供给 运行)
列表比较的两个日期是一个日期范围,用于识别在此范围内的对象
当提供两个正确的日期作为范围时,输出很好
当提供的范围不正确(结束日期早于开始日期)未输出无效日期范围时出现问题
package test;
import java.time.LocalDate;
public class A1 {
public void searchEnrolments(int StartDay, int StartMonth, int StartYear, int EndDay, int EndMonth, int EndYear) {
LocalDate a = LocalDate.of(StartYear, StartMonth, StartDay);
LocalDate b = LocalDate.of(EndYear, EndMonth, EndDay);
boolean before = a.isBefore(b);
if (before = true) {
System.out.println("Out of range: ");
}
else {
System.out.println("Invalid Date Range");
}
}
}
package test;
public class aTester {
public static void main(String[] args) {
A1 a2= new A1();
a2.searchEnrolments(20, 04, 2020, 10, 02, 2019);
}
}
发生这种情况是因为您没有使用“==”等号运算符。您正在 if 子句中分配值。
只需替换if子句-
if (before == true) {
System.out.println("Out of range: ");
}
else {
System.out.println("Invalid Date Range");
}
}