Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

siber7

Como fazer um metodo pra nao deixar adicionar Pizza sem ingredientes a

Recommended Posts

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.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aquele "contaIngredientes" é desnecessário. Você pode simplesmente verificar se o map está vazio antes de adicioná-lo ao carrinho de compras:

 

http://docs.oracle.com/javase/8/docs/api/java/util/Map.html#isEmpty--

 

Mas como você tem ele, pode fazer assim:

if(pizza1.contaIngrediente > 0){
  carrinhoDeCompras.pizzas.add(pizza1);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.