2 oiu1010110 oiu1010110 于 2016.03.27 22:08 提问

java 构造函数问题,谢谢各位指导。

在日期类中,写构造函数时先调用了日期类的方法判断
public Date(String date) {
if (isValidDate(date)) {
date = this.date;
}
}
现在我要在测试类中,让用户输入日期,默认为当前日期,若用户输入的日期不正确,则一直到用户输入正确为止,这样的话也就是说只有输入正确了才会构造日期类函数成功,但是我要判断是否正确必须要先构造才可以调用方法判断啊?怎么解决呢?

3个回答

caozhy
caozhy   Ds   Rxr 2016.03.27 22:16
 public Date(String date) {
if (isValidDate(date)) {
date = this.date;
}
else
 throw Exception("invaliddate");
}

主程序
Date date = null;
while (date == null)
{
try
{
String s = input.readLine();
date = new Date(s);
}
catch {}
}
oiu1010110
oiu1010110 else throw Exception("invaliddate");和catch {} 它报错了
一年多之前 回复
u011239468
u011239468   2016.03.27 22:37

你直接写个验证日期格式化判断的工具类, 就不好了?

以下是方法体:

public static Date getDate(String txt){

    if(txt != null && txt.matches("\\d{4}-\\d{2}-\\d{2}")){
        return Date.valueOf(txt);
    }
    return null;

} 

在调用的函数里,直接判断是否为空, 就完事了!

CSDNXIAOD
CSDNXIAOD   2016.03.30 11:27

java 构造函数问题
关于JAVA中构造函数的问题
解决匿名类构造函数问题 Java
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!