NullPointerException[Resolvido]

Tá dando esse erro e já tentei de todas as maneiras mas não cheguei a lugar algum, qualquer ajuda seria bem vinda

public void addIngrediente(String nome){
Ingrediente ing = new Ingrediente();
ing.setNome(nome);
ingredientes.add(ing); < O erro tá aqui
}

public void addIngrediente(Ingrediente ing){
ingredientes.add(ing); < O erro tá aqui
}

posta o erro completo

Exception in thread “main” java.lang.NullPointerException
at restaurante.Prato.addIngrediente(Prato.java:28)
at restaurante.Restaurante.main(Restaurante.java:55)

na classe Prato, linha 28…o que tem la? mostra o código

e na classe Restaurante linha 55

public void addIngrediente(String nome){
Ingrediente ing = new Ingrediente();
ing.setNome(nome);
ingredientes.add(ing); < linha 55 da classe Main
}

public void addIngrediente(Ingrediente ing){
ingredientes.add(ing); < linha 28 da clase Prato
}

tira print da tela…só com essas informações, não consigo ver o problema

Essa é a main

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;
}

}

ingredientes é null.
Você não inicializou a sua lista. (new)

deu certo
mt obrigado msm, ajudou mt

1 curtida