gpt4 book ai didi

java - 如何返回到另一个案例

转载 作者:行者123 更新时间:2023-12-02 02:45:13 25 4
gpt4 key购买 nike

我需要帮助,我有几个案例,我想从一个案例返回到另一个案例,但它不断返回到“执行”菜单,例如我单击“1”,然后单击“1”,然后单击“1”,程序返回到第一个案例,登录案例,但我想返回到可视化案例

public static void main(String[] args) {
int op;
Scanner ler = new Scanner(System.in);
do
{
System.out.println("1 - Iniciar sessão");//login
System.out.println("0 - Terminar programa");//end program
System.out.print("OP-> ");
op = ler.nextInt();

switch(op)
{
case 1:
System.out.println("1 - Visualizar lista encomendas realizadas");//visualize
System.out.println("2 - Listar/adicionar/modificar/eliminar produtos");//modifie/remove/add product
System.out.println("3 - Listar/adicionar/modificar/eliminar clientes");//modifie/remove/add client
System.out.println("4 - Listar/adicionar/modificar/eliminar transporte");//modifie/remove/add transportation
System.out.println("5 - Terminar sessão");//end session
System.out.println("0 - Terminar programa");//end program
System.out.println("OP-> ");
op = ler.nextInt();

switch(op)
{
case 1:
System.out.println("1 - Voltar ao menu principal");//return to menu
System.out.println("OP-> ");
op = ler.nextInt();
break;


case 2:
System.out.println("1 - Listar produtos");
System.out.println("2 - Adicionar produtos");
System.out.println("3 - Modificar produtos");
System.out.println("4 - Eliminar produtos");
System.out.println("5 - Voltar");
System.out.println("OP-> ");
op = ler.nextInt();

switch (op)
{
case 1:
break;

case 2:
break;


default: System.out.println("Opção inválida");
}
break;

case 3:
System.out.println("1 - Listar clientes");
System.out.println("2 - Adicionar clientes");
System.out.println("3 - Modificar clientes");
System.out.println("4 - Eliminar clientes");
System.out.println("5 - Voltar");
System.out.println("OP-> ");
op = ler.nextInt();

switch (op)
{
case 1:
break;

case 2:
break;

case 3:
break;

case 4:
break;

case 5:
break;

default: System.out.println("Opção inválida");
}
break;

case 4:
System.out.println("1 - Listar transporte");
System.out.println("2 - Adicionar transporte");
System.out.println("3 - Modificar transporte");
System.out.println("4 - Eliminar transporte");
System.out.println("5 - Voltar");
System.out.println("OP-> ");
op = ler.nextInt();
switch (op)
{
case 1:
break;

case 2:
break;

case 3:
break;

case 4:
break;

case 5:
break;

default: System.out.println("Opção inválida");
}
break;

case 5:
break;

default: System.out.println("Opção inválida");
}
break;

default: System.out.println("Opção inválida");
}

}
while(op!=0);
}

}

最佳答案

下面是一个示例,说明如何将菜单拆分为方法并在正确的位置调用它们。请注意,每个菜单都包含一个循环。此外,您的 op 变量在所有菜单上都相同,这导致它们无法正常工作。

    static Scanner ler;
public static void menuClientes(){
int op= 0;

while (op!= 5){
System.out.println("1 - Listar clientes");
System.out.println("2 - Adicionar clientes");
System.out.println("3 - Modificar clientes");
System.out.println("4 - Eliminar clientes");
System.out.println("5 - Voltar");
System.out.println("OP-> ");
op = ler.nextInt();

switch (op) {
case 1:
break;

case 2:
break;

case 3:
break;

case 4:
break;

case 5:
break;

default:
System.out.println("Opção inválida");
}
}
}

public static void menuTransporte(){
int op= 0;

while (op!= 5){
System.out.println("1 - Listar transporte");
System.out.println("2 - Adicionar transporte");
System.out.println("3 - Modificar transporte");
System.out.println("4 - Eliminar transporte");
System.out.println("5 - Voltar");
System.out.println("OP-> ");
op = ler.nextInt();
switch (op) {
case 1:
break;

case 2:
break;

case 3:
break;

case 4:
break;

case 5:
break;

default:
System.out.println("Opção inválida");
}
}
}

public static void menuPrincipal(){
int op= 0;

while (op!= 5){
System.out.println("1 - Visualizar lista encomendas realizadas");// visualize
System.out.println("2 - Listar/adicionar/modificar/eliminar produtos");
System.out.println("3 - Listar/adicionar/modificar/eliminar clientes");
System.out.println("4 - Listar/adicionar/modificar/eliminar transporte");
System.out.println("5 - Terminar sessão");
System.out.println("0 - Terminar programa");
System.out.println("OP-> ");
op = ler.nextInt();

switch (op) {
case 1:break;
case 2:break;
case 3: menuClientes();break;
case 4: menuTransporte(); break;
case 5: return;
default:
System.out.println("Opção inválida");
}
}
}

public static void main(String[] args) {

int op;
ler = new Scanner(System.in); //the declarion of this variable was put on the class itself to be accessible by all methods

do {
System.out.println("1 - Iniciar sessão");// login
System.out.println("0 - Terminar programa");
System.out.print("OP-> ");
op = ler.nextInt();


switch (op) {
case 1: menuPrincipal();break;

default:
System.out.println("Opção inválida");
}

} while (op != 0);
}

关于java - 如何返回到另一个案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44689020/

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