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

4 respostas
javaprogramação
G

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 ?

4 Respostas

Lucas_Camara

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...");
		}
	}
}
G

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…?

Lucas_Camara

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

Fefo80

@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.

Criado 7 de outubro de 2021
Ultima resposta 7 de out. de 2021
Respostas 4
Participantes 3