【发布时间】:2017-01-18 06:03:33
【问题描述】:
我不明白为什么我收到一条错误消息,指出方法 getClassification 必须返回 char 类型的结果。
private char A, B, C, D;
public char getClassification() {
if(parts[0] >= 0 && parts[0] <= 127)
return (A);
else if(parts[0] >= 128 && parts[0] <= 191)
return (B);
else if(parts[0] >= 192 && parts[0] <= 223)
return (C);
else if(parts[0] >= 224 && parts[0] <= 255)
return (D);
}
【问题讨论】:
-
这是因为你所有的 return 语句都是有条件的。如果所有条件都为假,则方法将结束而不返回任何内容。
-
如答案和 cmets 中所述,您需要“默认”
return语句或,如果您的程序中永远不会出现case,您应该 @ 987654325@ 和[Runtime]Exception。见Fail Fast principle。
标签: java if-statement methods char return-type