Erro de compilação ao adicionar novo seguidor ao Perfil

Eu sou iniciante em java, é possível adicionar outros objetos na instancia que já foi criada ?

Eu fiz isso e esta dando erro na linha " ana.segui.add(jane); ".

class Perfil{
    String nome;   int idade;   List<Perfil> segui;  int resp;
    public Perfil(String nome, int idade,List<Perfil> segui){
        this.nome = nome;
        this.idade = idade;
        this.segui = segui;
    }
}
...
public class Instagram {
    public static void main(String[] args) {
        
        Perfil ana = new Perfil("Ana",23,null);
        Perfil bruna = new Perfil("Bruna",23,null);
        Perfil caio = new Perfil("Caio",20,null);
        Perfil felipe = new Perfil("Felipe",20,null);
        Perfil jane = new Perfil("Jane",30,null);
        Perfil joao = new Perfil("João",23,null);
        Perfil marcos = new Perfil("Marcos",19,null);
        Perfil pedro = new Perfil("Pedro",20,null);
        Perfil renata = new Perfil("Renata",35,null);
        
        ana.segui.add(jane);
        ana.segui.add(joao);
        bruna.segui.add(renata);
        felipe.segui.add(marcos);
        felipe.segui.add(renata);
        jane.segui.add(bruna);
        jane.segui.add(marcos);
        jane.segui.add(pedro);
        joao.segui.add(ana);
        joao.segui.add(caio);
    }
}

Quando você responder o que eu perguntei nesse tópico, quem sabe podemos te ajudar.
Aliás, não duplique tópicos.

Eu dupliquei a pergunta esperando outra pessoa que esteja realmente DISPOSTA A AJUDA um iniciante em java .
Dizer em qual linha esta o erro e fazer piadinha quando peço ajuda para me explicar a melhor forma para fazer não é ajudar.
Fiz essa pergunta para tirar duvida, se é possível adicionar informação a instancia já criada.
Agora se não quiser ajudar ou não entende do assunto eu te entendo, vc não precisa ficar respondendo tudo.

Ah, desculpe por afetar tua sensibilidade. Eu esqueço que as pessoas são sensíveis demais a qualquer tipo de correção: conserto: ato de corrigir algo. Concerto: execução de obra musical por uma orquestra.
Mas, eu tenho que dizer que não fiz piada, só usei de sarcasmo para mostrar que você cometeu um erro básico na escrita.

Não tem como descobrir qual é a referida linha, sem saber o que existe nela, é impossível dizer o que está nulo e causando problemas. De repente, você postou só parte do código ou coisa assim, impedindo que eu conte as linhas e indique qual a errada.

Agora, se quer mesmo ajuda, comece por deixar de se fazer de vítima e entender que ajudar é diferente de adivinhar ou mesmo de responder como você espera.

Obrigado pela ajuda

Cara, só é possível ajudar quem se ajuda.
Você só colocou um monte de coisas que não levam a lugar algum e ainda vem, com toda a arrogância do mundo, querer exigir algo.

Cara eu não to sendo arrogante, e peço desculpa se deixei a impressão e obrigado.

Esta dando erro de NullPointerException. Esse erro é lançado quando um aplicativo tenta chamar um método de instancia de um objeto nulo, ou acessando ou modificando uma variável de instancia de um objeto nulo, ou seja quando é necessário que exista um objeto criado mas ele ainda não foi.

1 curtida

Nesse caso eu criei uma instancia da classe Perfil (Perfil(String nome, int idade, List segui)), onde deixei o Arraylist seguir nulo para completar depois onde dá esse erro (em “ana.segui.add(jane)” ), sabe me dizer se é possivel fazer isso sem dá esse problema e há outro modo de fazer isso ? Desde já agradeço, obg reginildosousa.

1 curtida

Você precisa criar um objeto List antes de tentar “povoar” essa variável de instância:

import java.util.List;
import java.util.ArrayList;


public class Instagram {
    public static void main(String[] args) {
        
        /* retire o null do construtor de Perfil */
        Perfil ana = new Perfil("Ana",23);
        Perfil bruna = new Perfil("Bruna",23);
        Perfil caio = new Perfil("Caio",20);
        Perfil felipe = new Perfil("Felipe",20);
        Perfil jane = new Perfil("Jane",30);
        Perfil joao = new Perfil("João",23);
        Perfil marcos = new Perfil("Marcos",19);
        Perfil pedro = new Perfil("Pedro",20);
        Perfil renata = new Perfil("Renata",35);
        
        ana.segui.add(jane);
        ana.segui.add(joao);
        bruna.segui.add(renata);
        felipe.segui.add(marcos);
        felipe.segui.add(renata);
        jane.segui.add(bruna);
        jane.segui.add(marcos);
        jane.segui.add(pedro);
        joao.segui.add(ana);
        joao.segui.add(caio);
    }
}

class Perfil{
    String nome;   
    int idade;   
    List<Perfil> segui;  
    int resp;
    public Perfil(String nome, int idade){
        this.nome = nome;
        this.idade = idade;
        /* é esse trecho que precisa ser feito para o codigo ser compilado*/
        this.segui = new ArrayList<Perfil>();
    }
}
1 curtida

Repense suas atitudes. Ninguem é obrigado a lhe ajudar.

Obrigado reginildosousa. eu tinha me esquecido que dava pra fazer isso.
vlw mesmo pela ajuda