Skip to content
98 changes: 43 additions & 55 deletions src/main/java/list/OperacoesBasicas/CarrinhoDeCompras.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,79 +5,67 @@

public class CarrinhoDeCompras {
//atributos
private List<Item> itemList;
private List<Item> itens;

public CarrinhoDeCompras() {
this.itemList = new ArrayList<>();
this.itens = new ArrayList<>();
}

public void adicionarItem(String nome, double preco, int quantidade) {
Item item = new Item(nome, preco, quantidade);
this.itemList.add(item);
// métodos
public void addItem(String name, double price, int quantity) {
itens.add(new Item(name, price, quantity));
}

public void removerItem(String nome) {
List<Item> itensParaRemover = new ArrayList<>();
if (!itemList.isEmpty()) {
for (Item i : itemList) {
if (i.getNome().equalsIgnoreCase(nome)) {
itensParaRemover.add(i);
}
// não se usa .remove() porque não é possível remover um item específico de uma lista de objetos com for
public void removeItem(String name){
List<Item> itensToRemove = new ArrayList<>();
if (!itens.isEmpty()){
for (Item i : itens) { // percorre a lista de itens
if (i.getName().equalsIgnoreCase(name)) {
itensToRemove.add(i); // adiona o item à lista de itens a serem removidos
}
itemList.removeAll(itensParaRemover);
} else {
System.out.println("A lista está vazia!");
}
itens.removeAll(itensToRemove);
}
else {
System.out.println("Carrinho vazio, não é possível remover itens.");
}
}

public double calcularValorTotal() {
double valorTotal = 0d;
if (!itemList.isEmpty()) {
for (Item item : itemList) {
double valorItem = item.getPreco() * item.getQuant();
valorTotal += valorItem; //valorTotal = valorTotal + valorItem;
}
return valorTotal;
} else {
throw new RuntimeException("A lista está vazia!");
public double getTotalPrice() {
double total = 0.0;
if (!itens.isEmpty()){
for (Item i : itens) {
total += i.getPrice() * i.getQuantity();
}
return total;
}

public void exibirItens() {
if (!itemList.isEmpty()) {
System.out.println(this.itemList);
} else {
System.out.println("A lista está vazia!");
else {
System.out.println("Carrinho vazio, não é possível calcular o total.");
return total;
}
}

@Override
public String toString() {
return "CarrinhoDeCompras{" +
"itens=" + itemList +
'}';
public void getItemDescriptions() {
System.out.println(itens);
}

public static void main(String[] args) {
// Criando uma instância do carrinho de compras
CarrinhoDeCompras carrinhoDeCompras = new CarrinhoDeCompras();

// Adicionando itens ao carrinho
carrinhoDeCompras.adicionarItem("Lápis", 2d, 3);
carrinhoDeCompras.adicionarItem("Lápis", 2d, 3);
carrinhoDeCompras.adicionarItem("Caderno", 35d, 1);
carrinhoDeCompras.adicionarItem("Borracha", 2d, 2);

// Exibindo os itens no carrinho
carrinhoDeCompras.exibirItens();

// Removendo um item do carrinho
carrinhoDeCompras.removerItem("Lápis");
CarrinhoDeCompras carrinho = new CarrinhoDeCompras();
System.out.printf("Total do carrinho R$: %.2f%n ", carrinho.getTotalPrice());
carrinho.getItemDescriptions();
carrinho.removeItem("Arroz");
System.out.println("");

// Exibindo os itens atualizados no carrinho
carrinhoDeCompras.exibirItens();
carrinho.addItem("Arroz", 5.99, 2);
carrinho.addItem("Feijão", 4.49, 1);
carrinho.addItem("Macarrão", 3.29, 3);
System.out.printf("Total do carrinho R$: %.2f%n", carrinho.getTotalPrice());
carrinho.getItemDescriptions();
System.out.println("");

// Calculando e exibindo o valor total da compra
System.out.println("O valor total da compra é = " + carrinhoDeCompras.calcularValorTotal());
carrinho.removeItem("Feijão");
System.out.printf("Total do carrinho R$: %.2f%n", carrinho.getTotalPrice());
carrinho.getItemDescriptions();

}
}
54 changes: 29 additions & 25 deletions src/main/java/list/OperacoesBasicas/Item.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,38 @@

public class Item {
//atributos
private String nome;
private double preco;
private int quant;

private String name;
private double price;
private int quantity;

public Item(String nome, double preco, int quant) {
this.nome = nome;
this.preco = preco;
this.quant = quant;
}
// construtor
public Item(String name, double price, int quantity) {
this.name = name;
this.price = price;
this.quantity = quantity;
}

public String getNome() {
return nome;
}
// getters
public String getName() {
return name;
}

public double getPreco() {
return preco;
}
public double getPrice() {
return price;
}

public int getQuant() {
return quant;
}
public int getQuantity() {
return quantity;
}

@Override
public String toString() {
return "Item{" +
"nome='" + nome + '\'' +
", preco=" + preco +
", quant=" + quant +
'}';
}
// toString
@Override
public String toString() {
return "Item{" +
"nome='" + name + '\'' +
", preco=" + price +
", quantidade=" + quantity +
'}';
}
}
74 changes: 0 additions & 74 deletions src/main/java/list/OperacoesBasicas/ListaTarefa.java

This file was deleted.

19 changes: 0 additions & 19 deletions src/main/java/list/OperacoesBasicas/Tarefa.java

This file was deleted.

21 changes: 21 additions & 0 deletions src/main/java/list/OperacoesBasicas/Task.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package main.java.list.OperacoesBasicas;

public class Task {

private String description;

public Task(String description) {
this.description = description;
}

public String getDescription() {
return description;
}

// to string
@Override
public String toString() {
return description;
}

}
70 changes: 70 additions & 0 deletions src/main/java/list/OperacoesBasicas/TaskList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package main.java.list.OperacoesBasicas;

import java.util.ArrayList;
import java.util.List;

public class TaskList {
//atributo

private List<Task> tasksList;

public TaskList() {
this.tasksList = new ArrayList<>();

}

// métodos
public void addTask(String description) {
tasksList.add(new Task(description));
}

public void removeTask(String description) {
List<Task> tasksToRemove = new ArrayList<>();
for (Task task : tasksList) {
if (task.getDescription().equalsIgnoreCase(description)) {
tasksToRemove.add(task);
}
}
tasksList.removeAll(tasksToRemove);
}

public int getTaskCount() {
return tasksList.size(); // retorna o número de tarefas na lista
}

public void getTaskDescriptions() {
System.out.println(tasksList);
}

// to string


public static void main(String[] args) {


TaskList taskList = new TaskList();
System.out.println("Número de tarefas: " + taskList.getTaskCount());
taskList.getTaskDescriptions();
System.out.println("");


taskList.addTask("Estudar Java");
taskList.addTask("Fazer compras");
taskList.addTask("Lavar o carro");
System.out.println("Número de tarefas: " + taskList.getTaskCount());
taskList.getTaskDescriptions();
System.out.println("");

taskList.removeTask("Fazer compras");
System.out.println("Número de tarefas após remoção: " + taskList.getTaskCount());
taskList.getTaskDescriptions();
}



}





Loading