Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Java - tablice wielowymiarowe nullPointerException

celtic_1888 27 Mar 2013 12:32 1293 2
  • #1 27 Mar 2013 12:32
    celtic_1888
    Poziom 5  

    Witam,
    błąd jest pewnie bardzo prosty, ale nie mogę znaleźć rozwiązania od kilku godzin.
    Jest to parser którego zadaniem jest wyciągnięcie odpowiednich danych do macierzy.

    Kod: java
    Zaloguj się, aby zobaczyć kod

    Błąd:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    linijka:
    parser.dataMatrix[0][i] = pom[2];
    Z góry dzięki za pomoc.

    0 2
  • #2 10 Kwi 2013 03:12
    gitara61
    Poziom 10  

    Faktycznie banalny błąd. Zmienną String[] pom zadeklarowałeś wewnątrz warunku, dlatego wewnątrz drugiego warunku nie będzie już widoczna, a w związku z tym wali nullPointerException.

    Ty zrobiłeś:

    Kod: java
    Zaloguj się, aby zobaczyć kod


    A wystarczy wywalić deklarację zmiennej przed warunek i po problemie:
    Kod: java
    Zaloguj się, aby zobaczyć kod


    Zaznaczam, że programu nie kompilowałem i nie testowałem tylko sprawdzałem na oko, ale na 99% to jest ten błąd.

    Jeszcze kolejna sprawa mogąca powodować błąd. W pierwszym warunku sprawdzasz czy wiersz zaczyna się od "AAA,host" a następnie robisz split po przecinku w efekcie na pewno otrzymasz dwa ciągi "AAA" i "host", ale dalej odwołujesz się do pom[2], a to może nie istnieć, chyba że masz pewność, że linia ma co najmniej 2 przecinki. Podobnie jest w drugim warunku, tylko że tam nie masz żadnej gwarancji że będą chociażby 2 ciągi. (Tablice w Java indeksujemy od 0).

    0
  • #3 11 Kwi 2013 12:04
    celtic_1888
    Poziom 5  

    Dzięki za pomoc, problem rozwiązałem dzięki ArrayList.
    A jeżeli chodzi o strukturę analizowanych stringów, to tak, jestem pewny, że w danym miejscu będzie dana wartość.

    0