Java Java Objects Creating the MVP Conference Registration Assistant

java.util.NoSuchElementException: No line found

The scanner object cannot find the input that i am asking for....
import java.util.Scanner;

public class ConferenceRegistrationAssistant {
              String lastName;
              int lineNumber;

   * Assists in guiding people to the proper line based on their last name.
   * @param lastName The person's last name
   * @return The line number based on the first letter of lastName
  public int getLineNumberFor(String lastName) {
             Scanner scanner=new Scanner(;
             System.out.println("Please enter your last name:               ");
             String lastNameInput=scanner.nextLine();
                              } else {

      lineNumber should be set based on the first character of the person's last name
      Line 1 - A thru M
      Line 2 - N thru Z

    return lineNumber;

public class Example {

  public static void main(String[] args) {
      IMPORTANT:  You can compare characters using <, >. <=, >= and == just like numbers
    if ('C' < 'D') {
      System.out.println("C comes before D");

    if ('B' > 'A') {
      System.out.println("B comes after A");

    if ('E' >= 'E') {
      System.out.println("E is equal to or comes after E");

    // This code is here for demonstration purposes only...
    ConferenceRegistrationAssistant assistant = new ConferenceRegistrationAssistant();
      Remember that there are 2 lines.
      Line #1 is for A-M
      Line #2 is for N-Z
    int lineNumber = 0;
      This should set lineNumber to 2 because
      The last name is Zimmerman which starts with a Z.
      Therefore it is between N-Z
    lineNumber = assistant.getLineNumberFor("Zimmerman");

      This method call should set lineNumber to 1, because 'A' from "Anderson" is between A-M.
    lineNumber = assistant.getLineNumberFor("Anderson");

      Likewise Charlie Brown's 'B' is between 'A' and 'M', so lineNumber should be set to 1
    lineNumber = assistant.getLineNumberFor("Brown");


1 Answer


If you peek into the file, you will see the method is called with a String passed into it already. This method you're designing is only to serve the purpose of sorting them into line 1 or 2!

Try removing the scanner, prompt, and string, and then for your if() statement, pass in the parameter that is given in the declaration of the method.