Olá, A todos, estou iniciando os meus estudos em java, e me deparei com um problema que no caso seria: como fazer um teste pra nao deixar adicionar uma pizza sem ingredientes na Lista carrinhoDeCompras. E em qual classe eu teria que por esse metodo?
OBS: já me disseram que está bem mal encapsulado, mas ainda nao aprendi bem esse conceito, entao deixarei para aplicar depois que eu entender bem desse assunto.
public class Pizza {
static Map<String, Integer> ingredientes= new HashMap<>();
int contaIngrediente=0;
static int contaPizza=0;
public void adicionaIngrediente(String ingrediente, Integer quantidade){
if(ingredientes.containsKey(ingrediente)){
int aux= ingredientes.get(ingrediente);
ingredientes.put(ingrediente, quantidade+aux);
}
else {
ingredientes.put(ingrediente, quantidade);
}
contaIngrediente++;
}
}
public class CarrinhoDeCompras {
List<Pizza> pizzas= new ArrayList<Pizza>();
public void retornarTotalPizzas(){
System.out.println("\n");
System.out.println("Total de pizzas no carrinho: "+pizzas.size());
System.out.println("\n");
}
public class Principal {
public static void main(String[] args){
CarrinhoDeCompras carrinhoDeCompras= new CarrinhoDeCompras();
Pizza pizza1= new Pizza();
pizza1.adicionaIngrediente("Pepperoni", 8);
pizza1.adicionaIngrediente("Bacon", 7);
pizza1.adicionaIngrediente("Presunto", 9);
carrinhoDeCompras.pizzas.add(pizza1);
Pizza pizza2= new Pizza();
*witout put ingredients here
carrinhoDeCompras.pizzas.add(pizza2); ****Can’t add to the list carrinhoDeCompras.