NullPointerException[Resolvido]

8 respostas
java
J

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  aqui

}
public void addIngrediente(Ingrediente ing){

ingredientes.add(ing);  < O erro  aqui

}

8 Respostas

R

posta o erro completo

J
Exception in thread main java.lang.NullPointerException

at restaurante.Prato.addIngrediente(Prato.java:28)

at restaurante.Restaurante.main(Restaurante.java:55)
R

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

e na classe Restaurante linha 55

J
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

}
R

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

J

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

}

RoinujNosde

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

J

deu certo
mt obrigado msm, ajudou mt

Criado 30 de março de 2021
Ultima resposta 30 de mar. de 2021
Respostas 8
Participantes 3