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 ?