import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
import loja.Produto;
import loja.Venda;
public class MinhaLoja
{
public static void main(String[] args) throws InterruptedException, IOException {
int opcao;
Scanner leia = new Scanner((System.in));
ArrayList<Produto> produtos = new ArrayList<>();
ArrayList<Venda> vendas1 = new ArrayList<>();
do
{
System.out.println("\n--------MENU DA LOJA--------\n");
System.out.println("1 - Cadastre seu produto: ");
System.out.println("2 - Consulte o produto(Código): ");
System.out.println("3 - Listagem de produtos: ");
System.out.println("4 - Vendas por período - Detalhado: ");
System.out.println("5 - Realizar venda: ");
System.out.println("0 - Sair");
System.out.print("\nOpção: ");
opcao = leia.nextInt();
leia.nextLine();
switch (opcao)
{
case 1:
System.out.println("\n********Cadastre seu produto aqui********\n");
System.out.println("Informe o nome do produto: ");
String nome = leia.nextLine();
System.out.println("\nInforme o código do produto: ");
String codigo = leia.nextLine();
System.out.println("\nInforme o valor do produto: ");
Double valor = leia.nextDouble();
leia.nextLine();
System.out.println("\nQuantidade no estoque: ");
int qtdEstoque = leia.nextInt();
leia.nextLine();
voltarMenu(leia);
Produto p = new Produto(codigo, nome, valor, qtdEstoque);
produtos.add(p);
break;
case 2:
if (produtos.size() <= 0) {
System.out.println("\nNão há produtos cadastrados!!!");
voltarMenu(leia);
break;
}
System.out.println("\n******Consultar produtos******\n");
System.out.println("Informe o código do produto que deseja consultar: ");
String codigo1 = leia.nextLine();
for (int i = 0; i < produtos.size(); ++i) {
Produto p1 = new Produto();
p1 = produtos.get(i);
if (codigo1.equals(p1.getCodigo())) {
System.out.println("\nProduto encontrado com sucesso!!!");
System.out.println(p1.toString());
} else if (codigo1 != p1.getCodigo()) {
System.out.println("\nCódigo inexistente! Tente novamente");
}
}
voltarMenu(leia);
break;
case 3:
System.out.println("\n*******Todos os produtos cadastrados*******\n");
double v = 0;
for (int i = 0; i < produtos.size(); ++i) {
Produto p2 = new Produto();
p2 = produtos.get(i);
v = v + produtos.get(i).getValor();
System.out.println("\n-----------------------------");
System.out.printf(p2.toString());
}
double media = v / produtos.size();
System.out.printf("Está é a media: %s\n", media);
voltarMenu(leia);
break;
case 4:
voltarMenu(leia);
break;
case 5:
System.out.println("\n------Fazer venda------\n");
System.out.print("Código do produto a vender: ");
String codVend = leia.nextLine();
if (produtos.size() < 1)
{
System.out.println("--------Não há produtos--------");;
break;
}
int i = -1;
for (Produto p2 : produtos)
{
if (p2.getCodigo().equals(codVend))
{
i = produtos.indexOf(p2);
}
if (i == -1)
{
System.out.println("Produto");
break;
}
System.out.printf("\n(QUANTIDADE DISPONÍVEL: %s un.)\n", produtos.get(i)
.getQtd());
System.out.printf("\nQuantidade de %s a vender: ", produtos.get(i).getNome());
int itens = leia.nextInt();
leia.nextLine();
Produto p3 = new Produto();
p3 = produtos.get(i);
if (itens > p3.getQtd())
{
System.out.println("\n-----Não há estoque-----");;
break;
}
System.out.printf("%s %s(s) vendido(a) com sucesso! \n", itens, produtos.get(i).getNome());
produtos.get(i).subtrairEstoque(itens);
Venda v1 = new Venda(itens, produtos.get(i));
vendas1.add(v1);
}
voltarMenu(leia);
break;
}
} while (opcao != 0);
System.out.println("Fim do programa!");
leia.close();
}
private static void voltarMenu(Scanner in) throws InterruptedException, IOException {
System.out.println("\nPressione ENTER para voltar ao menu.");
in.nextLine();
if (System.getProperty("os.name").contains("Windows"))
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
else
System.out.print("\033[H\033[2J");
System.out.flush();
}
}
E qual sua dificuldade exatamente?
Eu não consigo fazer o programa correr pelo ArrayList de Venda, para que ele consiga pegar o produto vendido, a data (que eu ainda preciso fazer) e a quantidade de vendas.