我正在解析一个可能包含日期的文件。如果日期在那里,它的格式是两位数或四位数的年份,但总是带有斜线(例如,MM/DD/YY 或 MM/DD/YYYY)。
public class T2 {
public static void main(String args[]) {
inputLine = "foo foo foo foo foo 10/26/2013 bar bar bar bar bar";
if(inputLine.indexOf("/")>0) { // if date exists
taskDateSOF = (inputLine.indexOf("/")-2); // then start of field is first instance of / minus two
if (inputLine.lastIndexOf.isNumeric("/")+3); { // and if there's a number in the third position after the last /
taskDateEOF = (inputLine.lastIndexOf("/") + 4); // the the end of date field is last instance of / +4
else // <<< this "else" give an "else without if compiler error
taskDateEOF = (inputLine.lastIndexOf(("/" + 2))); // else it's the last instance of / +2
taskDate = inputLine.trim().substring(taskDateSOF,taskDateEOF).trim(); } //
}
else
taskDate = "00/00/0000";
}
System.out.println(taskDate+" "+inputLine);
}
}
经过一番挣扎后,我意识到我以前从未嵌套过这样的 if 语句,而且我在破译错误时遇到了麻烦。第else
9 行(第一个)else without if
在编译期间给了我一个错误。我怀疑我在某个地方放错了花括号,尽管根据我引用的示例代码和教程,它似乎没问题。我无法发现问题,而且我的“试一试,看看会发生什么”的实验都没有成功。有人可以指出我没有看到的东西吗?