gpt4 book ai didi

java - 在 Java 控制台中创建两级深度选择菜单的最佳实践

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:43:40 24 4
gpt4 key购买 nike

我将要创建一个应用程序,该应用程序在 Java 控制台而不是 GUI 上运行,我有一个关于使用另一级子菜单显示菜单的最佳方法的问题。我快速输入了以下代码,让您大致了解我要实现的目标。

我的目标是让修改帐户和访问帐户的菜单都打开带有更多选择的子菜单。本质上,我正在尝试使应用程序变得杂乱无章,以免有太多选择(例如,更改帐户 ID、更改帐户余额、更改帐户昵称等)。

我在互联网上看到一些地方似乎不喜欢这种“树状”结构。有没有任何干净的方法来做这样的事情,或者我是否会被迫做一些事情,比如创建单独的方法(即 AccountMenu),它会显示不同的提示并实质上创建另一个 do while 循环。

 public class Console
{
public static void main (String[] args) {

System.out.println("Welcome to the console application");

int selection =0;

do
{
System.out.println("[1] Create New Account");
System.out.println("[2] Modify Account");
System.out.println("[3] Access Account");
System.out.println("[4] Quit");

System.out.print("Insert selection: ");
selection = ReadConsole.nextInt();

switch (selection)
{
case 1: dothislater; break;
case 2: dothislater; break;
case 3: dothislater; break;
case 4: System.out.println("Application has been shut down")
break;
default:
System.out.println("The selection was invaild!");
}
}while (selection != 4);
}

我是 Java 的新手,我这样做只是为了了解它是什么样的。建议/想法?我还应该提到,我不想实现像 swing 元素这样的“合适的”GUI。

最佳答案

您可以为每个(子)菜单创建另一个功能。之所以不喜欢它,是因为它不符合 OOP 的精神。

public class Console {

private int testint = 1;
/**
* @param args
*/
public static void main(String[] args) {
Console console = new Console();
console = console.mainMenu(console);
System.out.println("Application has been shut down");
}

private Console mainMenu(Console console) {
System.out.println("Welcome to the console application");

int selection = 0;

do {
System.out.println("[1] Create New Account");
System.out.println("[2] Modify Account");
System.out.println("[3] Access Account");
System.out.println("[4] Quit");

System.out.print("Insert selection: ");
// selection = testint++;
selection = ReadConsole.nextInt();
switch (selection) {
case 1: return console.submenu1(console);
case 2: return console.submenu1(console);
case 3: return console.submenu1(console);
case 4: return console;
default:
System.out.println("The selection was invalid!");
}
} while (selection != 4);
return console;
}

private Console submenu1(Console console) {
System.out.println("Welcome to the SUBMENU");

int selection = 0;

do {
System.out.println("[1] SUBMENU_1");
System.out.println("[2] SUBMENU_2");
System.out.println("[3] SUBMENU_3");
System.out.println("[4] Return");

System.out.print("Insert selection: ");
//selection = ++testint;
selection = ReadConsole.nextInt();

switch (selection) {
case 1: return console.submenu1(console);
case 2: return console.submenu1(console);
case 3: return console.submenu1(console);
case 4: return console.mainMenu(console);
default:
System.out.println("The selection was invalid!");
}
} while (selection != 4);
return console;
}
}

可能需要更多调整,但您可能明白了

关于java - 在 Java 控制台中创建两级深度选择菜单的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30191614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com