Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Java Objects (Retired) Creating the MVP Comparing Characters

Else block not working.

I'm trying to do one of the class exercises and I'm not getting any compiler errors but the system is telling me that the program is not working as intended. The if statement seems to activate correctly but the code in the "else" block that should activate in all other cases doesn't seem to be assigning the value of 2 to the line variable.

ConferenceRegistrationAssistant.java
public class ConferenceRegistrationAssistant {

  public int getLineFor(String lastName) {
    /* If the last name is between A thru M send them to line 1
       Otherwise send them to line 2 */
    int line = 0;
    if (lastName.indexOf(0) <= 'M'){
      line = 1;
    }
    else{
    line = 2;
    }
    return line;
  }

}

1 Answer

You need charAt(), not indexOf(). They are easy to get mixed up. Just remember that charAt() is looking at a position, so if the parameter is a number, then charAt() is the needed method.

  public int getLineFor(String lastName) {
    /* If the last name is between A thru M send them to line 1
       Otherwise send them to line 2 */
    int line = 0;

    if (lastName.charAt(0) < 'M') {
      line = 1;
    } else {
      line = 2;
    }
    return line;
  }