Last active
August 29, 2015 14:22
-
-
Save zokis/c94d5de6f7dfb39ae3c6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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