返回字符时出现的java问题
我不明白为什么会出现一个错误,说明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);
}
# 1 楼答案
您已经将每个
return
语句放入了一个if
语句中当你把所有的
return
语句放在if
条件中(即使函数肯定会返回所提到的类型)时,编译器还没有足够的智能来确定你从函数返回的是什么试着编译它,编译器会抱怨同样的事情:
# 2 楼答案
当所有if条件都为false时,
getClassification
不会返回值这应该行得通
# 3 楼答案
需要else语句或默认返回语句吗
# 4 楼答案
根据if条件返回字符a、b、c、d,但在某些条件下,如果所有条件都为false(例如部分[0]>;255或部分[0]<;0),则函数不返回任何内容。为避免错误,请在末尾写入else条件
}