Estou tentando colocar no meu código a opção total de vendas, alguém poderia ajudar?

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();
       }
       
   }
}

}

Para a opção 4 vc pode iterar por sua lista de vendas e ir somando o total.

1 curtida