Estagiario precisando de ajuda com java

23/03/2021

0

Pessoal comecei a estagiar em uma empresa e eles pediram para fazer uma atividade aonde eu tenho que fazer um aplicativo java para gerenciar o estoque de produtos em uma pequena loja, e eu tenho alguns requisitos

O aplicativo não precisa ter uma interface de usuário. Os usuários usarão qualquer terminal para interagir com o aplicativo. (ufa)
O aplicativo deve fornecer as seguintes opções para o cliente:
1. Salve um novo produto. O produto deve ter os seguintes atributos:
Nome
Preço
Descrição
Quantidade
Categoria

2. Lista de todos os produtos salvos.
3. Pesquise o nome de um produto e retorne seu preço e descrição.
4. Opção de saída.
Preço e quantidade não podem receber letras, apenas números (inteiro para quantidade, decimal para preço)
O erro deve ser tratado quando o usuário tenta salvar um produto com preço ou quantidade errada. Se isso acontecer, o produto não pode ser salvo e o sistema deve mostrar uma mensagem de aviso ao usuário. O sistema deve continuar funcionando depois que isso acontecer.

Eu sei mais ou menos como fazer, sei que tenho fazer um menu usando "switch case" dentro de ''do while" e cada case é um method fazendo as opções 1,2,3,4 e terei que usar hash map ja que nao posso usar um banco de dados, o problema é que eu nao consigo resolver isso, é meio urgente e eu estou em panico, se alguem puder me ajudar por favor.
qualquer coisa meu email é juuaolre@gmail.com

essa é menu que eu acredito que esteja certo
public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		System.out.println(
				"Type 1 for save a new product \n     2 for list all products \n     3 search a specific product \n     4 for exit");

		int options = sc.nextInt();

		do {
			switch (options) {

			case 1:
				System.out.println("method to save a new product");
				options = sc.nextInt();
				break;
			case 2:
				System.out.println("method to show a list of all products");
				options = sc.nextInt();
				break;
			case 3:
				System.out.println("method to search a specific product");
				options = sc.nextInt();
				break;
			case 4:
				break;
			default:
				System.out.println("Choose a valid option");
				options = sc.nextInt();
				break;
			}
		} while (options != 4);
		System.out.println("You''re leaving, bye!");

		sc.close();
	}
}
Chicoiz

Chicoiz

Responder

Posts

24/03/2021

Paulo Mendes

A ideia dessa função main está ok. Precisas de uma classe separada que descreva um Produto, que tenha os atributos de classe. Algo como:

public class Produto {

private String nome;
private preco;
private String descricao;
private int quantidade;
private String categoria;

// getters e setters

}

Isso, presumindo que suas Categorias não precisem de uma classe separada, ou um enum. Então pra cada opção desse menu você chama métodos, na mesma classe onde está essa main, que manipulam a classe Produto. Vai tentando..
Responder

24/03/2021

Chicoiz

A ideia dessa função main está ok. Precisas de uma classe separada que descreva um Produto, que tenha os atributos de classe. Algo como:

public class Produto {

private String nome;
private preco;
private String descricao;
private int quantidade;
private String categoria;

// getters e setters

}

Isso, presumindo que suas Categorias não precisem de uma classe separada, ou um enum. Então pra cada opção desse menu você chama métodos, na mesma classe onde está essa main, que manipulam a classe Produto. Vai tentando..


bem eu fiz elas publicas, e coloquei getters and setters, porém além disso eu preciso de um construtor que crie os valores e coloque nesses atributos e salve em um array correto ? eu nao sei como fazer isso.
Responder

24/03/2021

Paulo Mendes

bem eu fiz elas publicas, e coloquei getters and setters, porém além disso eu preciso de um construtor que crie os valores e coloque nesses atributos e salve em um array correto ? eu nao sei como fazer isso.


bom, um construtor é parecido com um método. Se você não criar nenhum, a MVJ cria um vazio, então só precisa mesmo caso você tenha valores customizados pra iniciar por padrão.

public class MinhaClasse{

private String nome;

public MinhaClasse( String nome) {
this.nome = nome;
}
}

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar