【问题标题】:Java application to provide a menu of different options?Java 应用程序提供不同选项的菜单?
【发布时间】:2013-12-10 01:04:31
【问题描述】:

这是一些我更愿意自己弄清楚的工作,尽管我似乎真的无法整理出我的代码。在这部分代码中,我需要提供一个菜单,用户可以选择该菜单,然后执行进一步的功能。

基本上我要问的是我如何去允许用户选择一个将在 Switch 语句中获得的选项,尽管有人有更好的主意?

这是我的代码:

int menuchoice = 1; 
String options;

switch (menuchoice)
{
case 1: options = "Transfer";
        break;
case 2: options = "Recent transactions";
        break;
case 3: options = "Display account details and current balance";
        break;
case 4: options = "Quit";
        break;
}
System.out.println(options);

我意识到“menuchoice = 1”不允许用户在不更改代码的情况下选择他们想要的选项??我觉得这有点令人困惑.. 我该怎么办?

【问题讨论】:

  • 这是命令行程序还是 GUI 程序?是交互的还是选择传递给main?您希望用户如何输入选择?

标签: java switch-statement options


【解决方案1】:

您正在为每个案例声明一个新的String options,而原始数据尚未初始化。 System.out.println(options) 正在使用范围内的一个,它是原始未初始化的一个

String options = "Transfer";

随便用

options = "Transfer";

全部更改

switch (menuchoice)
{
case 1: options = "Transfer";
        break;
case 2: options = "Recent transactions";
        break;
case 3: options = "Display account details and current balance";
        break;
case 4: options = "Quit";
        break;
}

同样要从用户那里获得菜单选择,您应该使用扫描仪

Scanner scanner = new Scanner(System.in);     // scans the console.

System.out.println("Enter a menu option: ");  // prints to console
int menuOption = scanner.nextInt();           // gets next int from console

【讨论】:

  • 哦,是的,谢谢,我知道如何使用扫描仪,虽然我没有意识到我也可以将它用于 switch 语句,又一个愚蠢的时刻,可能现在太累了,无法工作就可以了,还是谢谢
【解决方案2】:

您可以使用 JOptionPane.showInputDialog("your menu here as a String") 允许用户输入(作为字符串)她想要使用的选项,然后您可以将结果转换为 int 并使用开关来识别输入的选项。

是的,您不应该在开关内创建新变量,只需使用您在其外部创建的变量即可。

【讨论】:

    猜你喜欢
    • 2012-12-10
    • 1970-01-01
    • 2011-01-27
    • 2014-09-22
    • 1970-01-01
    • 2011-01-27
    • 2022-06-15
    • 1970-01-01
    • 2020-04-06
    相关资源
    最近更新 更多