GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Preciso tirar uma duvida! (sobre execução do programa em java)

Tags: #<Tag:0x00007f22df932d68> #<Tag:0x00007f22df932a70>

Meu nome é Gustavo, sou iniciante no mundo da programação.

Queria saber como se faz para executar um programa em looping. No caso estava pensando em um sistema de uma loja, onde o usuário teria opções como “Adicionar produto” e “calcular o valor da compra do cliente” por exemplo. Comecei a fazer o programa, mais veio essa duvida porque ainda n cheguei a estudar sobre isso. Sempre quando eu termino de adicionar um produto na lista por exemplo ele finaliza o meu programa, mas estava querendo q ele n pare de executar, só quando eu realmente querer parar a execução.

Tem alguma classe que faz isso, ou é simplesmente usando while e for ?

Imagino que sua aplicação seja para rodar apenas na linha de comando, sem ter uma interface gráfica. Com isso, vc precisar executar realmente em loop com uma condição de parada:

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		try (Scanner teclado = new Scanner(System.in)) {
			int opcao;
			
			do {
				System.out.println("Digite 1 para imprimir algo ou 0 para encerrar: ");
				opcao = teclado.nextInt();
				
				if (opcao == 1) {
					System.out.println("Algo =D");
				}
			} while (opcao != 0);
			
			System.out.println("Encerrando...");
		}
	}
}

sim, ainda não cheguei a estudar a parte de interface gráfica, estou usando o console para fazer minha aplicação. Então nesse caso fazendo do jeito que estou fazendo, realmente n teria como eu fazer o programa ficar executando ?

Mas o que eu teria que fazer pra isso dar certo ? interface grafica, banco de dados…?

Postei um código de exemplo na minha resposta, usando do … while.

@Lucas_Camara eu acho que ele está querendo persistência de dados.

Gustavo, olha só… qualquer software só mantém seus dados na memória enquanto o software está rodando. Não é que ele vá funcionar “em looping”, mas você precisa ter uma estrutura de uso não-linear (depois de fazer A, o usuário pode fazer B, C, D ou E; não precisa ser na ordem).

Se você quer ter um sistema para uma loja, você precisa de algumas coisas como - por exemplo - um controle de estoque. Só que você não vai querer que os funcionários redigitem todos os dados (informações; por exemplo: estoque e valores dos produtos) todos os dias.

Então esses dados precisam ficar armazenados em algum lugar.

Como eles só existem enquanto o software está na memória, você precisa salvar (persistir) eles em algum lugar. De forma simplificada, você tem 2 locais possíveis: no próprio computador ou na nuvem (ou seja, em algum computador via internet), e tem 2 formas: ou arquivos de tabelas convencionais (Exemplo: csv ou xls) ou bancos de dados via algum SGBD.

Quando você faz esse tipo de pergunta, isso demonstra que você não entendeu os conceitos básicos de orientação a objetos, e pretende usar a mentalidade da programação estruturada, ao pensar as classes enquanto bibliotecas.

Hoje em dia usam-se muito alguns frameworks, que extrapolam o conceito de bibliotecas e direcionam todo os esforço “programacional”.

Mas não é isso que você precisa agora. O que você precisa é ignorar o que aprendeu e fazer um curso do zero. Você está pensando Java enquanto “vou aprender o mínimo necessário para fazer o sistema”, mas - na realidade - você precisa sair dessa concepção e aprender todo o básico do raciocínio de programação.

Existem diversos cursos completamente gratuitos, e em português, no YouTube.

Seu sistema vai ser um pouco mais complexo que uns poucos do-while; mas tenha paciência e vá com calma. Um passo por vez.

Ninguém aprende programação em alguns dias. Respeite o processo. A curva de aprendizado é alta, mas vale muito à pena.

E sinta-se muito bem vindo ao fórum! Se precisar de ajuda, pode criar posts aqui que todos sempre se esforçam para esclarecer as dúvidas.

1 Curtida
//