这是一些我宁愿弄清楚自己的工作,虽然我似乎无法对我的代码进行排序。在这部分代码中,我需要提供一个用户可以选择的菜单,然后再做进一步的功能。
基本上我要问的是我如何允许用户选择一个可以在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令人困惑......我怎么能这样做?
答案 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并使用开关标识输入的选项。
是的,您不应该在交换机内创建新变量,只需使用您在其外部创建的变量。