Java应用程序提供不同选项的菜单?

时间:2013-12-10 01:04:32

标签: java switch-statement options

这是一些我宁愿弄清楚自己的工作,虽然我似乎无法对我的代码进行排序。在这部分代码中,我需要提供一个用户可以选择的菜单,然后再做进一步的功能。

基本上我要问的是我如何允许用户选择一个可以在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”不允许用户选择他们想要的选项而不更改代码?我觉得abit令人困惑......我怎么能这样做?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以使用JOptionPane.showInputDialog("您的菜单在这里作为String")允许用户输入(作为String)她想要使用哪个选项,然后您可以将结果转换为int并使用开关标识输入的选项。

是的,您不应该在交换机内创建新变量,只需使用您在其外部创建的变量。