1
resposta

[Dúvida] Resolução desafio vendavel

INTERFACE:

package br.com.Vendavel;

public interface Vendavel { void calcularPrecoTotal(); void calcularPrecoTotalCdesconto(); }

Produto:

package br.com.Vendavel;

public class Produto implements Vendavel{ private String nomeProduto; private double quantidadeProduto; private double desconto; private double precoTotal; private double precoTotalCdesconto; private double valorUnt;

@Override
public void calcularPrecoTotal() {
    setPrecoTotal(getValorUnt() * getQuantidadeProduto());
}

@Override
public void calcularPrecoTotalCdesconto() {
    if(getQuantidadeProduto() >= 2) {
        setDesconto(10);
        setPrecoTotalCdesconto(getPrecoTotal() - (getPrecoTotal() * getDesconto()) / 100);
        System.out.println("O valor total atualizado da sua compra, com descontos é de: R$" + getPrecoTotalCdesconto());
    } else {
        System.out.println("Sua compra deu o valor total de: R$" + getPrecoTotal());
    }
}

public String getNomeProduto() {
    return nomeProduto;
}

public void setNomeProduto(String nomeProduto) {
    this.nomeProduto = nomeProduto;
}

public double getQuantidadeProduto() {
    return quantidadeProduto;
}

public void setQuantidadeProduto(double quantidadeProduto) {
    this.quantidadeProduto = quantidadeProduto;
}

public double getDesconto() {
    return desconto;
}

public void setDesconto(double desconto) {
    this.desconto = desconto;
}

public double getPrecoTotal() {
    return precoTotal;
}

public void setPrecoTotal(double precoTotal) {
    this.precoTotal = precoTotal;
}

public double getValorUnt() {
    return valorUnt;
}

public void setValorUnt(double valorUnt) {
    this.valorUnt = valorUnt;
}

public double getPrecoTotalCdesconto() {
    return precoTotalCdesconto;
}

public void setPrecoTotalCdesconto(double precoTotalCdesconto) {
    this.precoTotalCdesconto = precoTotalCdesconto;
}

}

Classe principal teste:

package br.com.Vendavel;

import java.util.Scanner;

public class Principal { public static void main(String[] args) { Produto produto = new Produto(); Scanner sc = new Scanner(System.in);

System.out.println("====Bem-vindo(a) ao caixa====\n");
System.out.println("Qual o produto que está levando?: ");
produto.setNomeProduto(sc.nextLine());
System.out.println("Qual o valor do produto?: ");
produto.setValorUnt(sc.nextDouble());
System.out.println("Qual a quantidade que o(a) Sr(a) está levando?: ");
produto.setQuantidadeProduto(sc.nextDouble());
produto.calcularPrecoTotal();
produto.calcularPrecoTotalCdesconto();
}

}

Eu gostaria de adicionar um loop "for" para aplicar descontos progressivos de acordo com a quantidade de produtos comprados pelo cliente, com um limite de até 30%, porém não soube aplicar, alguém poderia me ajudar? E se possível corrigir algo que esteja errado no código sem o loop. :)

1 resposta

Opa, Pedro! Tudo certo?

Você fez um ótimo trabalho resolvendo o desafio! Seu código está correto, então te parabenizo pelo seu esforço e dedicação!

A título de informação, quando precisar compartilhar códigos aqui no fórum é interessante dar uma boa visibilidade para ele. Para isso, você pode seguir os passos que compartilho a seguir. Sem a formatação correta, o código acaba ficando escondido e de difícil visualização.

  1. Selecione o trecho com o código no seu post;

  2. Aqui no fórum, procure o ícone </>. É a sétima opção na aba superior do nosso editor de texto;

  3. Clique no ícone comentado acima, certificando-se que está com todo o trecho de código selecionado.

Para confirmar se está tudo certo, você pode pré-visualizar seu post clicando no penúltimo ícone da esquerda para a direita, ou também usando o atalho F9.

No mais, se precisar de ajuda ou tiver alguma dúvida relacionada aos seus estudos, o fórum é o melhor lugar para te ajudar.

Bons estudos!