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

ConferenceRegistrationAssistant last name input

I don't know where to start... we want to prompt the user to input their last name, then determine whether the first letter of their last name is "greater than" or "less than" M, and then generate an int based on that to sort them into lines. I'm just confused as to what methods we use to do this. Do we use a System.out.println function to get their last name, and then use charAt?

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

}

1 Answer

Grigorij Schleifer
Grigorij Schleifer
10,365 Points

Hi Alex,

public class ConferenceRegistrationAssistant {

  public int getLineFor(String lastName) {
// the method takes the last name as argument (Erickson)
// and you need the first character of the last name (E)
// so you can use the charAt() method 
// inside () of charAt you need to tell the compiler which place of the String you need to look at

    int line = 0;
// you need a variable for the line number
// you can change the number of the line, depending on the first character of the "lastName"

    if (lastName.charAt(0) > 'M') {
// here you are looking at the first character of the "lastName"
// (0) is the first char, because String lastName is a concatenation of chars
// and this concatenation is 0 based
// the first character (E) is on place (0)
// the second character of the "lastName" variable would be
// lastName.charAt(1) and so on ...
::::::::::::::::::::::::::::::::::

// so the if statement is looking:
// if the char at place 0 (first character) is greater then 'M' then 
// line = 2
      line = 2;
    } else {
// if not greater then `M``
      line = 1;
    }
    return line;
// return the number of the line
  }
}

Does it make sense?

Grigorij