Qual ideia posso usar para substituir while?

10 respostas
code
Richard_Beletatti

GALERA, qual ideia posso usar para substituir esse meu While em meu código, queria ele continuasse pedindo permissão de eu continuar cadastrando Cliente ou nao.

#code
public class MenuCadastraCliente {

// CADASTRO DE CLIENTE
public static void cadastroCliente() {
	int cadastrandoCliente = 1;

	while (cadastrandoCliente == 1) {
		// SELECIONANDO TIPO CLIENTE
		SelecionandoTipoDeCliente.selecionandoTipoCliente();

		// CONTINUAR CADASTRANDO CLIENTE
		String continuarCadastrandoCliente = TextInput
				.textInput("CONTINUAR CADASTRANDO CLIENTE ? SIM [1] / NÃO [2]");

		if (continuarCadastrandoCliente.equalsIgnoreCase("1")) {

		} else if (continuarCadastrandoCliente.equalsIgnoreCase("2")) {
			System.out.println("CADASTRO DE CLIENTE FINALIZADO COM SUCESSO !\n");
			cadastrandoCliente = 2;
		}
	}
}

}

10 Respostas

darlan_machado

Cara, explica melhor, pois, se o objetivo é repetir o trecho de código enquanto uma condição não é satisfeita, o while é fundamental.

Richard_Beletatti

é meio que assim… esse é um pedaço de um projeto que estou fazendo, o que seria esse projeto, ele é uma Locadora de Veículos, onde eu faria o Cadastro de Cliente,Veículo, Pedido, etc etc etc. Como foi dito eu teria de fazer um Cadastro de Cliente, e fiz, no caso esse código a cima, porém sempre quando vou fazer meu Cadastro de Cliente, ele entra dentro desse While, e queria saber tinha alguma forma, ou Padrão de Projeto eu poderia utilizar para tentar substituir esse meu While, para alguma outra forma. Mas acredito eu que nao é possível, mas queria ter certeza.

Richard_Beletatti

substituir esse laço de repetição.

darlan_machado

Cara, em geral, o ideal é você manter um laço para o sistema. Especificamente, as opções de um sistema, o menu, digamos assim.
Afinal, você não pega e cadastra todos os clientes de uma vez, nem todos os veículos, nem nada assim. Vai rolar de cadastrar um cliente, um veículo, efetuar uma locação. Então, o ideal seria isolar essas ações distintas em elementos específicos e só exibir o menu. Conforme as ações fossem necessárias, chamar a funcionalidade correspondente.

j-menezes

Tá bem rudimentar essa forma de fazer o cadastro.
Usando uma interface grafica tudo ficará mais intuitivo usando eventos.
Mas você pode usar eventos mesmo sem usar a biblioteca grafica.
O While, for, do while, são recursos que quase sempre a gente recorre a eles.
Mas nessa sua logica parece que a coisa está meio que em forma de teia de aranha.
E tambem em uma tela de cadastro, você fica nela até o usuario resolver sair , pra isso
Voce disponibiliza uma opão de [SAIR]

darlan_machado

Provavelmente ele esteja iniciando e este seja um dos primeiros projetos nesse sentido, daí a ausência de uma GUI.

Richard_Beletatti

entao mano… pq foi pedido pra ser feito em Via Console. Mas a ideia esta sendo perder o costume de ficar usando While ou For, esse é o motivo da pergunta.

Richard_Beletatti

então eu iria tentar fazer com o GUI , mas como foi passado pra fazer Via console mesmo para focar em treinar a Orientação Objeto então estou fznd no Via console mesmo… até pq isso é um pedacinho do código, porque o programa em si é muito grande.

Richard_Beletatti

em outras palavras eu usar Interfaces Gráficas seria a melhor forma para substituir esse costume de While no meu cadastro ?

j-menezes

Em tese sim, porque na biblioteca grafica está facil chamar eventos, mas a questão em sí são os eventos e não necessariamente a parte grafica.

Criado 28 de novembro de 2019
Ultima resposta 29 de nov. de 2019
Respostas 10
Participantes 3