сравнить для строки в алфавитно-цифровой задаче - PullRequest
0 голосов
/ 31 октября 2018
    //getFirstName method
    public String getFirstName()
    {
        String firstName = name.substring(0, name.lastIndexOf(' '));
        return firstName;
    }

    //getLastName method
    public String getLastName()
    {
        String lastName = name.substring(name.lastIndexOf(" ")+1);
        return lastName;
    }

    //alphaName method :: returns a String of the users's full name
    //in alphanumeric order;  returns a String with first and last named switched,
    //only if necessary; instance variable name is left unchanged
    // use the String class compareTo() method
    public String alphaName()
    {
        String compare = firstName.compareTo(lastName);
        if(compare < 0){
            return getFirstName() + getLastName();
        }
        else if(compare > 0){
            return getLastName() + getFirstName();
        }
        else{
            return getLastName() + getFirstName();
        }
        return compare;
    }

Привет, я не могу понять, как сделать мой код в алфавитно-цифровом порядке. У меня есть это сейчас, и это не выводит правильно. Я не добавил всю программу, но этого должно быть достаточно. Я использовал сравнение с, взял методы getFirstName и getLastName, и он не выводится правильно. Пожалуйста, помогите, спасибо!

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Попробуйте это -

public String alphaName(String firstName, String lastName)
{
    int compare = firstName.compareTo(lastName);
    if(compare < 0){
        return firstName + " " + lastName;
    }
    else if(compare > 0){
        return lastName + " " + firstName;
    }
    else{
        return lastName + " " + firstName;
    }
}
0 голосов
/ 31 октября 2018

compareTo должен возвращать int, а не String - вы пытаетесь сохранить его в String, а не int. Измените его на int int, и оно должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...