一个错误:它接受2100/02/29。2100年 不是 a年,所以没有2011/02/29。
如果我是您,则将
SimpleDateFormat用于解析和验证(提示:
lenient解析)。它更简单,更直观,代码也更容易阅读。(不要重新发明轮子)
以上是其他一些想法。
不必要的分配:return dateOK = false;
只需返回
false:
return false;
(
dataOK在您的情况下,该变量是不必要的。)
public static void illegal(String dateInput){ System.out.println(dateInput + " is illegal"); System.exit(0); }
抛出异常而不是
System.exit()。
在该
getBestDate()方法中,最后两行永远不会运行。它们是无效代码(由于
illegal()调用
System.exit()):
}else{ illegal(dateInput);}Integer[] bestDate = {var1, var2, var3};return bestDate;
如果可能,请避免使用静态方法和字段。最后,学习如何编写单元测试是一个好问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)