NullPointerException, 30 linijek kodu

0

http://ideone.com/s7CUag

import java.util.ArrayList;

public class Main {

    public static void main(String[] args) {
       Baza x = new Baza();
        
       x.set.liczba(100);
       int y = x.get.liczba(0); // zerowy element?
       
       System.out.println(y);
    }
    
    
    public static class Baza {
        private ArrayList<Integer> liczba = new ArrayList<>();
        public get get;
        public set set;
        
        private class get {
            public int liczba(int id) {return liczba.get(id);}
        }
        
        private class set {
            public void liczba(int wartosc) {liczba.add(wartosc);}
        }
    }
    
}

Error:
Exception in thread "main" java.lang.NullPointerException at Main.main(Main.java:8)
line 8: x.set.liczba(100);

Wiem mniej więcej na czym polega problem, ale już nie mogę sobie dać z nim rady. Zapędziłem się najpierw z "extends" robiąc z 200 linijek kodu, a utwkiłem w tym punkcie który wam pokazuję

halp pls! :(

0

A skonstruowałeś pola set i get w klasie Baza? Nie, zatem one są równe null.

0
bogdans napisał(a):

A skonstruowałeś pola set i get w klasie Baza? Nie, zatem one są równe null.

Nie do końca rozumiem, zadeklarowałem tyle co to

        public get get;
        public set set;

Wiem, że identyczne nazwy, ale póki klasy get i set są private to nie szkodzi

2

Zmienna, która jest tylko zadeklarowana ma wartość null. Te pola musisz skonstruować. Dopisz do kodu klasy Baza konstruktor.

public Baza()
{
    get = new get();
    set = new set();
}
0

No tak...

Jesteście genialni :D

Muszę jeszcze przywyknąć do Javy bo dopiero się rozkręcam i czasem zgubię taki szczegół

Dzięki, T/C

1 użytkowników online, w tym zalogowanych: 0, gości: 1