如何从数组中创建基于控制台的菜单?

时间:2016-10-25 23:53:34

标签: java arrays menu console

我正在尝试为未来的工作创建一个库,作为一项任务的一部分,我已经完成了大部分工作,但是我无法弄清楚如何从用户输入的数组中创建一个基于控制台的菜单。只是为了澄清,我不是要求答案,因为我几乎没有开始,但我想要的是一个很好的起点,像命令或我可以使用的东西。我会pos` / **      *使用Strings in选项作为菜单生成基于控制台的菜单      *项目。当withQuit为true时,为“quit”选项保留数字0。      *      * @param选项      * - 表示菜单选项的字符串      * @param withQuit      * - 当为true时,为“quit”添加选项0      * @return用户所做选择的int      * /

    public static int promptForMenuSelection(String[] options, boolean withQuit) {

    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

    String.
}`

抱歉,如果上面的要求难以阅读。请帮助,这是作业中的最后两个任务之一,我已经准备好完成它。

感谢。

1 个答案:

答案 0 :(得分:1)

当您检查用户输入的内容时,您可以将其与数组的索引相匹配。例如:

// Scanner for user input:
Scanner scanner = new Scanner(System.in);

// Gets the index (Surround with try/catch to prevent errors)
int userRequest = Integer.ParseInt(scanner.nextLine());

if(withQuit && userRequest == 0)
     return // Whatever value you want to return here on quit;

if(userRequest - 1 > options.length)
     return // Whatever value you want to return when the request is out of range; 

for(int i = 0; i < options.length; i++)
     if(options[i] == userRequest - 1)
          return i; // Returns the option index

因为你试图返回一个整数,所以我假设你不关心数组中的值。但是如果你这样做,只需将return语句设置为:

return options[i];

并在函数头中将返回值设置为String而不是int。