-2

How do you write the code using Scanner class to set up a menu (i.e 1 for something, 2 for something, and so on.) Then have the user to choose.

Thanks

5
Contributors
6
Replies
33
Views
12 Years
Discussion Span
Last Post by fairy1992224
0

Something along these lines:

import java.util.*;

class Main {
  public void display_menu() {
    System.out.println ( "1) Option 1\n2) Option 2\n3) Option 3" );
    System.out.print ( "Selection: " );
  }
  
  public Main() {
    Scanner in = new Scanner ( System.in );
    
    display_menu();
    switch ( in.nextInt() ) {
      case 1:
        System.out.println ( "You picked option 1" );
        break;
      case 2:
        System.out.println ( "You picked option 2" );
        break;
      case 3:
        System.out.println ( "You picked option 3" );
        break;
      default:
        System.err.println ( "Unrecognized option" );
        break;
    }
  }
  
  public static void main ( String[] args ) {
    new Main();
  }
}
0

How do you write the code that allows you to go back to the menu after choosing an option?

1

How do you write the code that allows you to go back to the menu after choosing an option?

Hi

You can make it simple an add a new method like in this example below that is based on the class above. I have chanced the name of the class because I personally do not think that classes should be named as Main.

import java.util.*;

public class InputMenu 
{
    public void display_menu() 
    {
	System.out.println("1) Option 1\n2) Option 2\n3) Option 3");
	System.out.print("Selection: ");
    }
    
    public void question()
    {
	System.out.println("Would you like to proceed or quit?");
	System.out.println("To proceed enter 9.");
	System.out.println("If you wish to quit enter 0.");

	Scanner q = new Scanner(System.in);
       
	switch (q.nextInt()) 
	{
	    case 0:
	    System.out.println ("Thank you and godbye.");
	    break;
  
	    case 9:
	    System.out.println ("Please proceed.");
	    new InputMenu();
	    break;

	    default:
	    System.err.println ( "Unrecognized option" );
	    break;
	}
    }
 
    public InputMenu() 
    {
	Scanner in = new Scanner(System.in);
        display_menu();
  
	switch (in.nextInt()) 
	{
	    case 1:
	    System.out.println ( "You picked option 1" );
	    question();
	    break;
  
	    case 2:
	    System.out.println ( "You picked option 2" );
	    question();
	    break;
  
	    case 3:
	    System.out.println ( "You picked option 3" );
	    question();
	    break;

	    default:
	    System.err.println ( "Unrecognized option" );
	    break;
	}
    }
 
    public static void main (String[]args) 
    {
	new InputMenu();
    }
}

As you see a new method question() is added and this method is called from all cases in the switch() (inside InputMenu() ) except the default case.

Hope this gave you an idea of how it works :)

Edited by sneaker: n/a

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.