Skip to content

Instantly share code, notes, and snippets.

@zokis
Last active August 29, 2015 14:22
Show Gist options
  • Save zokis/c94d5de6f7dfb39ae3c6 to your computer and use it in GitHub Desktop.
Save zokis/c94d5de6f7dfb39ae3c6 to your computer and use it in GitHub Desktop.
package Lojaonline;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import javax.swing.text.html.HTMLDocument.Iterator;
public class CarrinhoCompras {
private ArrayList<Produto> produtos = new ArrayList();
public ArrayList<Produto> getProdutos() {
return produtos;
}
public Integer getQuantidade(Produto p) {
// recebe o produto
Integer counter = 0;
// cria contador
// percorre todos os produtos no carrinho de compras
for (int i = 0; i < this.produtos.size(); i++) {
// se o produto atual tiver o mesmo codigo de p aumenta o contador
if (produtos.get(i).getCodigo().equals(p.getCodigo()))
counter++;
}
// retorna o contador
return counter;
}
public Integer getQuantidade() {
return this.produtos.size();
}
public Double getValor(){
Double valor = 0.0;
Set<Produto> pSet = new HashSet<Produto>(this.produtos);
for (Produto p: pSet) {
valor = valor + p.getPreco() * this.getQuantidade(p);
}
return valor;
}
public void Adicionar(Produto p) {
this.produtos.add(p);
}
public void Remover(Produto p) {
this.produtos.remove(p);
}
}
package Lojaonline;
public class LojaOnline {
public static void main(String[] args) {
Produto p1 = new Produto();
p1.setCodigo("000");
p1.setNome("Tenis");
p1.setPreco(10.00);
Produto p2 = new Produto();
p2.setCodigo("123");
p2.setNome("Camiseta");
p2.setPreco(15.00);
// adicionar produtos no carrinho
CarrinhoCompras carrinho = new CarrinhoCompras();
carrinho.Adicionar(p1);
carrinho.Adicionar(p1);
carrinho.Adicionar(p2);
System.out.println("Valor do carrinho: " + carrinho.getValor());
Double valor = (carrinho.getQuantidade(p1) * p1.getPreco());
Double valor2 = (carrinho.getQuantidade(p2) * p2.getPreco());
System.out.println("Valor de p1: "+ valor);
System.out.println("Valor de p2: "+ valor2);
}
}
package Lojaonline;
public class Produto {
private double preco;
private String codigo;
private String nome;
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public int hashCode() {
return codigo.hashCode();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment