对公共int方法的返回值感到困惑

时间:2015-10-21 02:32:20

标签: java

我正在为学校完成一个项目,但是我必须创建一个方法,该方法根据名称对象的第一个字母的字母顺序返回值-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;
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你的&#34;否则如果&#34;线是晃来晃去的。如,

 } else if (getLastName().charAt(0) == (nameObject.getLastName().charAt(0))) {

任何&#34;否则如果&#34;需要遵循&#34;否则&#34; - 或只是一个返回值 - 以确保返回