首页 > 解决方案 > 如何扫描和响应用户的输入?

问题描述

创建一个简单的 ATM 菜单,上面只有几个选项。

想知道如何让用户输入一些东西来选择选项,然后代码可以响应输入。

例如,“readLine(string)”

以下是我的代码:

public class Menu 
{   
    private String menuText;
    private int optionCount;

    public Menu()
    {
        menuText = "";
        optionCount = 0;
    }

    public void addOption(String option)
    {
        optionCount = optionCount + 1;
        menuText = menuText + optionCount + ") " + option + "\n";
    }

    public void display()
    {
        System.out.println(menuText);
    }
}

public class MenuDemo{
    public MenuDemo() 
    {
    }

    public static void main(String[] args) 
    {
        Menu mainMenu = new Menu();
        mainMenu.addOption("Log In Account");
        mainMenu.addOption("Deposit Check");
        mainMenu.addOption("Help");
        mainMenu.addOption("Quit");
        mainMenu.display(); 
    }

}

标签: java

解决方案


您可以使用 Scanner 类读取用户输入。然后使用 switch 语句执行您需要的操作:

import java.util.Scanner;

class Menu 
{   
    private String menuText;
    private int optionCount;

    public Menu()
    {
        menuText = "";
        optionCount = 0;
    }

    public void addOption(String option)
    {
        optionCount = optionCount + 1;
        menuText = menuText + optionCount + ") " + option + "\n";
    }

    public void display()
    {
        System.out.println(menuText);
    }
}

public class MenuDemo{
    public MenuDemo() 
    {
    }

    public static void main(String[] args) 
    {
        Menu mainMenu = new Menu();
        mainMenu.addOption("1. Log In Account");
        mainMenu.addOption("2. Deposit Check");
        mainMenu.addOption("3. Help");
        mainMenu.addOption("4. Quit");
        mainMenu.display();

        Scanner input = new Scanner(System.in);

        System.out.println("Enter Choice: ");
        String i = input.nextLine();

        switch(i){

        case "1":
            //do something
            System.out.println("User Entered 1 : " + i);
            break;
        case "2":
            //do something
            System.out.println("User Entered 2 : " + i);
            break;
        case "3":
            //do something
            System.out.println("User Entered 3 : " + i);
            break;
        case "4":
            //do something
            System.out.println("User Entered 4 : " + i);
            break;
        default:
            System.out.println("Quit" + i);
        }


    }

}

推荐阅读