Estou tentando colocar no meu código java poo, a opção total de vendas, mas não estou conseguindo… queria que aparecesse no menu a opção: 4- Total de vendas … Alguem poderia me ajudar
package principal;
import entidade.ItemVenda;
import entidade.Produto;
import entidade.Venda;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Aplicacao {
static Scanner ler = new Scanner(System.in);
static List p = new ArrayList<>();
static List v = new ArrayList<>();
static int cod=100;
static int codV = 1000;
public static boolean listarProdutos(){
if(p.isEmpty()){
System.out.println("Não existem produtos cadastraros.");
return false;
}
for(Produto pr: p)
System.out.println(pr.toString());
return true;
}
public static void reporEstoque(){
int codP;
int qtd;
System.out.print("Informe codido Produto: ");
codP = ler.nextInt();
for(Produto pr: p){
if(pr.getCodP() == codP){
System.out.print("Qtd do produto: ");
qtd = ler.nextInt();
pr.setQtd(qtd);
System.out.println("Operação concluída com sucesso.");
return;
}
}
System.out.println("Código inválido.");
}
public static void cadastrarProduto(){
String nomeP;
int estP;
double valorUn;
System.out.print("Nome do produto: ");
nomeP = ler.nextLine();
System.out.print("Qtd. do produto: ");
estP = ler.nextInt();
System.out.print("Valor unitário do produto R$: ");
valorUn = ler.nextDouble();
p.add(new Produto(cod, nomeP, estP, valorUn));
cod++;
System.out.println("Produto cadstrador com sucesso.");
}
public static void fazerVenda(){
List<ItemVenda> item = new ArrayList<>();
int codP;
int qtdV = -1;
double total;
double totalVenda=0;
DateTimeFormatter formato = DateTimeFormatter.ofPattern("dd/MM/uuuu HH:mm");
LocalDateTime agora;
System.out.println("Selecione os ítens para venda");
for(;;){
if(!listarProdutos())
return;
System.out.print("Informe codido Produto: ");
codP = ler.nextInt();
for(Produto pr: p){
if(pr.getCodP() == codP){
for(;;){
System.out.print(codP + " " + pr.getNomeP() + " qtd(estoque= "+pr.getQtd() + "): ");
qtdV = ler.nextInt();
if(qtdV > pr.getQtd()){
System.out.println("Qtd para venda maior que o estoque. Repita a operação.");
continue;
}
total = qtdV* pr.getValorUn();
item.add(new ItemVenda(codP, qtdV, total));
System.out.println("Inserção do produto na venda feita com sucesso.");
pr.debitarEstoque(qtdV);
break;
}
}
}
if(qtdV == -1){
System.out.println("Códigod e produto inválido. Repita a operação.");
continue;
}
System.out.print("Selecionar outro item para venda s/n: ");
if (ler.next().toLowerCase().charAt(0) == 's')
continue;
else
break;
}
if (item.isEmpty()){
System.out.println("Venda não realizada.");
return;
}
agora = LocalDateTime.now();
v.add(new Venda(codV, agora, item));
codV++;
//v.add(new Venda(codV,agora,item));
System.out.println("Resumo da venda realizada:");
System.out.print("Código da venda: "+codV);
System.out.println(" Data e hora da venda: "+agora.format(formato));
System.out.println("Lista de produtos vendidos:");
for(ItemVenda it: item ){
System.out.println(it.toString());
totalVenda += it.getTotal();
}
System.out.println("Valor total da venda: R$ "+totalVenda);
}
public static void total(){
List<ItemVenda> item = new ArrayList<>();
int codP;
int qtdV = -1;
double total;
double totalVenda=0;
DateTimeFormatter formato = DateTimeFormatter.ofPattern("dd/MM/uuuu HH:mm");
LocalDateTime agora;
System.out.println("Selecione os ítens para venda");
for(;;){
if(!listarProdutos())
return;
System.out.print("Informe codido Produto: ");
codP = ler.nextInt();
for(Produto pr: p){
if(pr.getCodP() == codP){
for(;;){
System.out.print(codP + " " + pr.getNomeP() + " qtd(estoque= "+pr.getQtd() + "): ");
qtdV = ler.nextInt();
if(qtdV > pr.getQtd()){
System.out.println("Qtd para venda maior que o estoque. Repita a operação.");
continue;
}
total = qtdV* pr.getValorUn();
item.add(new ItemVenda(codP, qtdV, total));
System.out.println("Inserção do produto na venda feita com sucesso.");
pr.debitarEstoque(qtdV);
break;
}
}
}
if(qtdV == -1){
System.out.println("Códigod e produto inválido. Repita a operação.");
continue;
}
System.out.print("Selecionar outro item para venda s/n: ");
if (ler.next().toLowerCase().charAt(0) == 's')
continue;
else
break;
}
if (item.isEmpty()){
System.out.println("Venda não realizada.");
return;
}
agora = LocalDateTime.now();
v.add(new Venda(codV, agora, item));
codV++;
//v.add(new Venda(codV,agora,item));
System.out.println("Resumo da venda realizada:");
System.out.print("Código da venda: "+codV);
System.out.println(" Data e hora da venda: "+agora.format(formato));
System.out.println("Lista de produtos vendidos:");
for(ItemVenda it: item ){
System.out.println(it.toString());
totalVenda += it.getTotal();
}
System.out.println("Valor total da venda: R$ "+totalVenda);
}
public static void main(String[] args) {
int op;
for(;;){
System.out.println("MENU:");
System.out.println("0 - Sair do Programa\n"+
"1 - Cadastrar Produto\n"+
"2 - Repor Estoque\n"+
"3 - Fazer Venda"+
"4 - Total Vendas");
System.out.print("Escolha uma das opções: ");
op = ler.nextInt();
if(op < 0 || op > 4){
System.out.println("Opção inválida. Repita a operação.");
continue;
}
switch(op){
case 0:
System.exit(0);
case 1:
ler.nextLine();
cadastrarProduto();
break;
case 2:
if(listarProdutos())
reporEstoque();
break;
case 3:
fazerVenda();
}
}
}
}