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

Java

What is wrong with this code?

ConferenceRegistrationAssistant.java
public class ConferenceRegistrationAssistant {

  public int line;

  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 */
    if (lastName.charAt(0) <= 'M') {
    line = 1;
    }
    if (lastName.charAt(0) >= 'N') {
    line = 2;
    }
    int line = 0;
    return line;
  }

}

1 Answer

Adam Sawicki
Adam Sawicki
15,967 Points

Try this modification:

public class ConferenceRegistrationAssistant {

  public int line;

  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;
  }

}

Notice that initialization of variable line occurs before if statements. In your solution, first issue is that line is not declared before assigning value to it, second is that before return statement you always override value with 0. I also changed your if statement.

Regards

ok thanks :)