Menu via prompt retorno ao menu principal

Pessoal sou iniciante em java,
Eu fiz um menu com uma lista de opções e caso eu selecione 1… faço oq se deve fazer…e depois preciso voltar ao menu…
como eu faço essa volta para o menu principal ?

Depende como você implementou até agora.
Posta seu código.

1 curtida

Mostre seu código do menu (ou a classe completa, se não for muito extensa). Não esqueça de usar o botão </> para formatar o código.

Mas, para exercícios simples, algo comum é ter um loop que chama cada operação e volta pro menu principal após cada uma. Algo como:

String opcaoSelecionada = '';
Scanner leitura;

do {
  System.out.println("Selecione a opção");
  opcaoSelecionada = leitura.nextLine();

  if (opcaoSelecionada.equalsIgnoreCase("CADASTRAR") {
    // faz alguma coisa
  } else if  (opcaoSelecionada.equalsIgnoreCase("CONSULTAR") {
    // faz outra coisa
  }
  // etc
} while (!opcaoSelecionada.equalsIgnoreCase("SAIR"));

Melhor ainda se você separar as ações de cada opção em outros métodos ou mesmo classes.

Abraço.


import java.text.DecimalFormat;
import java.util.Scanner;
import java.util.Vector;


public class Teste {

    public static void main(String[] args) {
        DecimalFormat df = new DecimalFormat("#");
         Passeio[] vp = new Passeio[5]; 
        // Passeio cp1 = new Passeio();
         Carga[]   vc = new Carga[5];
         
        Scanner entrada = new Scanner(System.in);
        boolean existe;
        String simNao = "S";
        String validaPlaca;
        int opcao = 0;
        int count = 0;
        int i = 0;
        String v_num = "S";
        while (opcao != 7) {  
           
        if(opcao != 7){
            
        System.out.print("\n##-Sistema de Gestao de Veiculos Menu - Principal-##\n");
        System.out.print("|---------------------------------------------------|\n");
        System.out.print("| Opção 1 - Cadastrar Veiculo de Passeio            |\n");
        System.out.print("| Opção 2 - Cadastrar Veiculo de Carga              |\n");
        System.out.print("| Opção 3 - Imprimir todos os Veiculos de Passeio   |\n");
        System.out.print("| Opção 4 - Imprimir todos os Veiculos de Carga     |\n");
        System.out.print("| Opção 5 - Imprimir Veiculos de Passeio pela placa |\n");
        System.out.print("| Opção 6 - Imprimir Veiculos de Carga pela placa   |\n");
        System.out.print("| Opção 7 - Sair do Sistema                         |\n");
        System.out.print("|---------------------------------------------------|\n");
        System.out.print("\nDigite uma opção: ");
        
        opcao = entrada.nextInt();
        
        switch (opcao) {
          
            case  1:
              
                System.out.print("\nOpcao Cadastrar Veiculo de Passeio Selecionado...\n");
                
                vp[i] = new Passeio();
                
                System.out.println("\nInforme a Placa");
                validaPlaca = entrada.next();
                       
                 existe  = validaPlaca(vp, validaPlaca);
                 if (existe) {
                     System.out.println("\nA placa " + validaPlaca + " já existe");
                 } else {
                     vp[i].setPlaca(validaPlaca);
                     System.out.println("\nA placa " + validaPlaca + " Valida");
                 }
                 
                   
                 
                 while (v_num.equalsIgnoreCase("S")  ) {                    
                     System.out.println("\nDeseja realizar novo Cadastro ? S/N");
                     simNao = entrada.next(); // ************* CASO SELECIONAR N DEVERA RETORNAR AO MENU DE OPÇOES ********************
                     if(simNao.equalsIgnoreCase("S")){
                        i += 1;    
                        vp[i] = new Passeio();
                        System.out.println("\nInforme a Placa");
                        vp[i].setMarca(entrada.next());
                        
                        existe  = validaPlaca(vp, validaPlaca);
                        
                        if (existe) {
                            System.out.println("\nA placa " + validaPlaca + " já existe");
                        } else {
                            vp[i].setPlaca(validaPlaca);
                            System.out.println("\nA placa " + validaPlaca + " Valida");
                        }
                      
                      
                     } else{
                         v_num = "N"; // ********** aqui caso selecionar Nao devera retornar ao menu de opções****************
                         
                     }
                
                     
                     
                }
               
                 
            case  2:
                System.out.print("\nOpcao Cadastrar Veiculo de Carga Selecionado\n");
                break;

            case  3:
                System.out.print("\nOpcao Imprimir todos os Veiculos de Passeio Selecionado\n");
                break;
             case 4:
                System.out.print("\nOpcao Imprimir todos os Veiculos de Carga Selecionado\n");
                break;
            case  5:
                System.out.print("\nOpcao Imprimir Veiculo de Passeio pela Placa Selecionado\n");
         //       listaVeiculo("p");          
            case  6:
                System.out.print("\nOpcao Imprimir Veiculo de Carga pela Placa Selecionado\n");
       //         listaVeiculo("c");
            case 7:
                  System.out.print("\nEncerrando Sistema....Ate logo!");
                  
                  entrada.close(); 
                  break;
                  
            default:
                System.out.print("\nOpcao Invalida...!");
                break;
             }
         }
        i += 1;

    }
           

    }
    
    
    public static boolean validaPlaca(Passeio[] vp, String placa) {
        
        for (Passeio passeio : vp) {
            if (vp.toString().equalsIgnoreCase(placa)) {
                System.out.println("vazio");
                return true; 
            }
        }
        return false; 
    }
    
//    public static void listaVeiculo(String tipo){
//        if(tipo.equalsIgnoreCase("p"){
//            System.out.println("chama aqi");
//        }
//    }


  
}

Outro problema é que nao consigo testar uma nova placa nao sei se é por que o atributo existe se é static mas ele sempre retorna apenas a primeira que eu digitei.

alguem pode me ajudar como resolver isso tbm ?