Carrinhos de compras
public class Carrinho {
List<Produto> listaDeProduto = new ArrayList<>();
@Override
public String toString() {
return "Carrinho{" +
"listaDeProduto=" + listaDeProduto.stream().map(Produto::getName).collect(Collectors.joining(",")) +
'}'+
"Preço total : " + precoCarrinho();
}
public double precoCarrinho(){
return listaDeProduto.stream()
.mapToDouble(Produto::getPrice)
.sum();
}
public void removerProduto(String productName){
try{
this.listaDeProduto.removeIf(p -> p.getName().equals(productName));
}catch (NullPointerException e){
System.out.println("Produto não encontrado no carrinho");
}
}
public void adicionarProduto(Produto produto){
this.listaDeProduto.add(produto);
}
Produto :
public record Produto(String name, double price) {
}
Main :
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Carrinho carrinho = new Carrinho();
boolean buy = true;
while(buy){
System.out.println("Enter the product name : ");
String productName = scanner.nextLine();
System.out.println("Enter the product price : ");
double productPrice = scanner.nextDouble();
scanner.nextLine();
carrinho.adicionarProduto(new Produto(productName,productPrice));
System.out.println("Want to add something more ?");
String answer = scanner.nextLine();
if(answer.equals("no")){
buy=false;
break;
}
}
System.out.println(carrinho);
}