我正在为学校完成一个项目,但是我必须创建一个方法,该方法根据名称对象的第一个字母的字母顺序返回值-1,0或1。我很困惑,为什么我一直在收到一个错误,要求我提供返回值,也许我无法看到我所遗漏的内容,但任何帮助都会受到赞赏(我可能会看到一个明天或后一天的助教。)
public int compareTo(Name nameObject) {
if (middleName.equals(null)) {
if (getLastName().charAt(0) < nameObject.getLastName().charAt(0)) {
return -1;
} else if (getLastName().charAt(0) > nameObject.getLastName().charAt(0)) {
return 1;
} else if (getLastName().charAt(0) == (nameObject.getLastName().charAt(0))) {
if (getFirstName().charAt(0) < nameObject.getFirstName().charAt(0)) {
return -1;
} else if (getFirstName().charAt(0) == nameObject.getFirstName().charAt(0)) {
return 0;
} else if (getFirstName().charAt(0) > nameObject.getFirstName().charAt(0)) {
return 1;
}
}
} else {
if (getLastName().charAt(0) < nameObject.getLastName().charAt(0)) {
return -1;
} else if (getLastName().charAt(0) > nameObject.getLastName().charAt(0)) {
return 1;
} else if (getLastName().charAt(0) == (nameObject.getLastName().charAt(0))) {
if (getFirstName().charAt(0) < nameObject.getFirstName().charAt(0)) {
return -1;
} else if (getFirstName().charAt(0) > nameObject.getFirstName().charAt(0)) {
return 1;
} else if (getFirstName().charAt(0) == nameObject.getFirstName().charAt(0)) {
if (getMiddleName().charAt(0) < nameObject.getMiddleName().charAt(0)) {
return -1;
} else if (getMiddleName().charAt(0) == nameObject.getMiddleName().charAt(0)) {
return 0;
} else if (getMiddleName().charAt(0) > nameObject.getMiddleName().charAt(0)) {
return 1;
}
}
}
}
}
答案 0 :(得分:0)
你的&#34;否则如果&#34;线是晃来晃去的。如,
} else if (getLastName().charAt(0) == (nameObject.getLastName().charAt(0))) {
任何&#34;否则如果&#34;需要遵循&#34;否则&#34; - 或只是一个返回值 - 以确保返回。