【发布时间】:2013-03-20 17:06:08
【问题描述】:
这是《Absolute Java》一书中的一种方法。我不明白为什么最后一个 else 语句需要返回值 0。作者的评论是“需要让编译器满意”。返回值为0是否有原因,或者它可以是任何整数?
public int getMonth( )
{
if (month.equals("January"))
return 1;
else if (month.equals("February"))
return 2;
else if (month.equalsIgnoreCase("March"))
return 3;
else if (month.equalsIgnoreCase("April"))
return 4;
else if (month.equalsIgnoreCase("May"))
return 5;
else if (month.equals("June"))
return 6;
else if (month.equalsIgnoreCase("July"))
return 7;
else if (month.equalsIgnoreCase("August"))
return 8;
else if (month.equalsIgnoreCase("September"))
return 9;
else if (month.equalsIgnoreCase("October"))
return 10;
else if (month.equals("November"))
return 11;
else if (month.equals("December"))
return 12;
else
{
System.out.println("Fatal Error");
System.exit(0);
return 0; //Needed to keep the compiler happy
}
}
【问题讨论】:
-
这对我来说有点味道——扔一个
Exception;其他东西应该exit。最好什么都没有……
标签: java if-statement return