Calculate total store revenue in Java

0

I'm having trouble calculating the total billing of the totalV store, since I'm not sure how to store the total values of each totalProd product without a new product replacing the previous one.

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);
    String produto = "";
    Scanner scanproduto = new Scanner(System.in);
    int quant_produto = 0;
    double totalProd = 0;
    double precoUn = 0;
    double totalV =0;

    System.out.print("CONTROLE DE VENDAS DE UMA LOJA DE ELETRODOMÉSTICOS\n");
    System.out.print("--------------------------------------------\n\n");

    System.out.println(" Digite Fim para terminar o lançamento.");

    while (!produto.equals("Fim") && !produto.equals("FIM")) {

        System.out.print("Digite o nome do produto: ");
        produto = scanproduto.nextLine();

        if (!produto.equals("Fim") && !produto.equals("FIM")) {

            System.out.print("Informe o preço unitario:");
            precoUn = input.nextDouble();

            System.out.print("Informe a quantidade de produtos vendidos:");
            quant_produto = input.nextInt();

            System.out.println("Produto:" + produto);
            System.out.println("Preço unitário:" + precoUn);
            System.out.println("Quantidade vendida:" + quant_produto);
            totalProd = (quant_produto * precoUn);
            System.out.println("Valor total do produto:" + totalProd);
        } else {
            {

                System.out.println("R$ " + totalV);

                if (totalV <= 10000) {
                    System.out.println("FATURAMENTO BAIXO");
                } else {
                    System.out.println("FATURAMENTO ÓTIMO");
                }
            }
        }
    }
}
    
asked by anonymous 24.04.2017 / 21:32

2 answers

1

You need to assign the totalV with the Total products . It is not necessary to put other IFs, because the while will only stay in a loop until it is different from FIM

Try this:

 while (!produto.equals("Fim")) {

        System.out.print("Digite o nome do produto: ");
        produto = scanproduto.nextLine();

        System.out.print("Informe o preço unitario:");
        precoUn = input.nextDouble();

        System.out.print("Informe a quantidade de produtos vendidos:");
        quant_produto = input.nextInt();

        System.out.println("Produto:" + produto);
        System.out.println("Preço unitário:" + precoUn);
        System.out.println("Quantidade vendida:" + quant_produto);
        totalProd = (quant_produto * precoUn);
        System.out.println("Valor total do produto:" + totalProd);

        // aqui falto somar o total
        totalV = totalV + totalProd;
  }


    System.out.println("R$ " + totalV);

    if (totalV <= 10000) {
        System.out.println("FATURAMENTO BAIXO");
    } else {
        System.out.println("FATURAMENTO ÓTIMO");
    }
  

If you want to check how to type a word, use the   equalsignorecase ("End"), it does not matter if the user will type: END,   FIm, FiM, end ... that will work as an end.

    
24.04.2017 / 21:54
0

This code will solve your problem by creating a Product Maps list

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    Map<String, double> map = new HashMap<String, double>();
    String produto = "";
    Scanner scanproduto = new Scanner(System.in);
    int quant_produto = 0;
    double precoUn = 0;
    double totalV =0;

    System.out.print("CONTROLE DE VENDAS DE UMA LOJA DE ELETRODOMÉSTICOS\n");
    System.out.print("--------------------------------------------\n\n");

    System.out.println(" Digite Fim para terminar o lançamento.");

    while (!produto.equals("Fim") && !produto.equals("FIM")) {

        System.out.print("Digite o nome do produto: ");
        produto = scanproduto.nextLine();

        if (!produto.equals("Fim") && !produto.equals("FIM")) {

            System.out.print("Informe o preço unitario:");
            precoUn = input.nextDouble();

            System.out.print("Informe a quantidade de produtos vendidos:");
            quant_produto = input.nextInt();

            System.out.println("Produto:" + produto);
            System.out.println("Preço unitário:" + precoUn);
            System.out.println("Quantidade vendida:" + quant_produto);
            totalProd = (quant_produto * precoUn);
            map.put(produto, totalProd);
            System.out.println("Valor total do " + produto + ":" + map.get(produto));
            totalV = totalV + map.get(produto);
        } else {
            {
                System.out.println("R$ " + totalV);
                if (totalV <= 10000) {
                    System.out.println("FATURAMENTO BAIXO");
                } else {
                    System.out.println("FATURAMENTO ÓTIMO");
                }

                System.out.println("Lista de todos os produtos e preços");

                for(Map.Entry<String, HashMap> entry : selects.entrySet()) {
                    String key = entry.getKey();
                    System.out.println("Produto: " + key + " - R$ " + map.get(key));
                }
            }
        }
    }
}
    
24.04.2017 / 22:02