Calculate total sales of the Java store

Asked

Viewed 350 times

0

I’m having trouble calculating the total sales of the store totalV, because I’m not sure how to store the total values of each product totalProd without a new product replacing the previous.

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

2 answers

1

You need to assign the totalV with the Total products. No need to put other IF, while will only loop until it is different from FIM

Try it that way:

 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 the way a word is typed, use the equalsignorecase("End"), no matter if the user will type: END, End, End, end ... that will function as end.

0

This code solves 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));
                }
            }
        }
    }
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.