Exception in thread “main” java.lang.NullPointerException
at restaurante.Prato.addIngrediente(Prato.java:28)
at restaurante.Restaurante.main(Restaurante.java:55)
public static void main(String[] args) {
ArrayList cozinhas = new ArrayList();
Scanner in = new Scanner(System.in);
int num = 0;
do {
System.out.println(“Bem Vindo ao Sistema do Restaurante!”);
System.out.println("Cadastrar Cozinha- 1 ");
System.out.println(“Consultar Cozinha - 2”);
System.out.println(“Encerrar - 0”);
int aux = in.nextInt();
switch (aux) {
case 1:
//Cadastrando Cozinha
Cozinha c = new Cozinha();
System.out.println("Digite o Nome da Cozinha: ");
c.setNome(in.next());
//Cadastrou nome da Cozinha
//Cadastrando Prato
Prato p = new Prato();
System.out.println("Quantos Pratos essa cozinha tem?");
int numPratos = in.nextInt();
int x =0;
do {
System.out.println("Digite o Nome do Prato: ");
p.setNome(in.next());
//Cadastrou nome do Prato
System.out.println("Quantos Ingredientes?");
int numIng = in.nextInt();
for (int i = 0; i < numIng; i++) {
Ingrediente ing = new Ingrediente();
System.out.println("Nome do Ingrediente:");
ing.setNome(in.next());
p.addIngrediente(ing);
}
x++;
}while(x != numPratos);
c.addPrato(p);
//Cadastrou Prato com Ingredientes
//Cadastra Cozinheiro
Cozinheiro co = new Cozinheiro();
System.out.println("Digite o Nome: ");
co.setNome(in.next());
c.addCozinheiro(co);
//Cadastrou Cozinheiro
cozinhas.add(c);
break;
case 2:
System.out.println("Digite o Nome:");
String auxNome = in.next();
for (Cozinha coz : cozinhas) {
if (auxNome.equals(coz.getNome())) {
coz.toString();
}
}
break;
}
} while (num != 0);
}
}
Classe Prato
public class Prato extends Cozinha {
private String nome;
private ArrayList ingredientes;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public void addIngrediente(Ingrediente ing){
ingredientes.add(ing);
}
public void addIngredienteTeste(String nome){
Ingrediente ing = new Ingrediente();
ing.setNome(nome);
ingredientes.add(ing);
//Adicionar no cadastro na main: String nomePrato = in.next();
}
@Override
public String toString() {
String txt = "Prato " + this.nome + "\n"
+ "Ingredientes: " + this.ingredientes;
return txt;
}
}
Classe Ingrediente
public class Ingrediente extends Prato{
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}