NullPointerException

Neu_ling

Mitglied
Hallo Community,

ich habe eine Frage zu einem von mir geschriebenen Programm. Das Programm liest mithilfe von Array jeweils Buchtitel, Buchautor und Erscheinungsjahr ein. Die Methode addBuch verlängert das bestehende Array und fügt den neuen Titel, Autor und Jahr ein. Das Programm lässt sich auch kompilieren. Wenn ich es jetzt ausführe, werde ich nach Titel und Autor gefragt und kann diese auch korrekt einsetzen. Nur wenn ich zum Schluss das Erscheinungsjahr eingebe, wirft er mir eine NullPointerException. Ich habe dieses Fehler auch schon gegoogelt und weiß, dass dieser eigentlich nur entsteht wenn ein falscher Wert übergeben wird. Jedoch kann ich in der Methode addBuch keinen Fehler finden. Ich habe im folgenden Quellcode, die Stelle markiert an der scheinbar der Fehler auftritt.
Ich hoffe ihr könnt mir helfen und bedanke mich im Vorraus.

Java:
public class BuchDaten {
 /**
   * Erzeugt Buchdaten-Array aus uebergebenen Attributen und
   * haengt diese der als char[][][] Array uebergebenen Liste an.
   *
   * @param titel Vorname des anzulegenden Buchdatums
   * @param autor Nachname des anzulegenden Buchdatums
   * @param erscheinungsjahr Alter des anzulegenden Buchdatums
   * @param liste Array mit bereits vorhandenen Buchdaten
   * @return Kopie der Buchdatenliste ergaenzt um das neue Datum
   * @throws RuntimeException falls erscheinungsjahr kleiner 0 oder groesser 2012
   */
    public static char[][][] addBuch(char[] titel, char[] autor,
                                   int erscheinungsjahr, char[][][] liste){


  if((erscheinungsjahr < 0) || (erscheinungsjahr > 2012))
    throw new RuntimeException("Erscheinungsjahr unkorrekt");

         char [][][] neu = new char [liste.length+1][3][];

         for(int i=0; i < liste.length; i++) {
         neu[i] = liste[i];
         }


 neu[neu.length-1][0] = titel;
 neu[neu.length-1][1] = autor;
[U][B] neu[neu.length-1][2][0] = (char) (erscheinungsjahr/1000 + ((int)'0'));[/B][/U]
 neu[neu.length-1][2][1] = (char) ((erscheinungsjahr%1000) /100 +((int)'0'));
 neu[neu.length-1][2][2] = (char)((erscheinungsjahr%100/10)+((int)'0'));
 neu[neu.length-1][2][3] = (char)((erscheinungsjahr%10)+((int)'0'));


       return neu;

       }
 
S

SlaterB

Gast
> Ich habe dieses Fehler auch schon gegoogelt und weiß, dass dieser eigentlich nur entsteht wenn ein falscher Wert übergeben wird.

da hast du aber komisch gegoogelt, eine NPE kommt genau dann, wenn an einem null-Objekt etwas aufgerufen wird,
z.B. in einem Array, welches null ist, etwas gespeichert wird,

dazu muss man natürlich ein dreidimensionales Array bisschen verstehen

neu[neu.length-1][2] ist ein char[], und zwar hier null,
titel kann es nicht sein, das steht an neu[neu.length-1][0], genausowenig autor,

durch die Übernahme von liste könnte man sich noch was vorstellen,
aber neu ist ja bisschen länger, wohl extra um Platz für was neues zu schaffen
(falls es dir noch nicht aufgefallen ist: man darf seinen eigenen Code auch erklären ;)
ok, die Methode hat ja auch einen gewissen Kommentar )

durch die Definition
char [][][] neu = new char[liste.length+1][3][];
wird auch aufgepasst, dass an Hauptindex neu.length-1 ein zweidimensionales Array erstellt wird,
so dass neu[neu.length-1] selber nicht null ist, auf neu[neu.length-1][2] kann man zugreifen, aber dort ist nunmal nichts (null)

du könntest mit
neu[neu.length-1][2] = new char[4];
ein eindimensionales Array zuweisen

char [][][] neu = new char[liste.length+1][3][4];
würde viele Arrays gleich am Anfang initialisieren, etwas unnötig da das meiste überschrieben wird,
schon jetzt sind viele 3er gleich wieder weg,

da muss man mal lange in Ruhe drüber meditieren
 
Zuletzt bearbeitet von einem Moderator:

Neu_ling

Mitglied
Alles klar, Danke für den Tipp, es hat funktioniert.
Ich konnte mit diesem Fehler nicht so viel anfangen, weil ich noch nicht so richtig in der Materie drin bin.
Aber trotzdem 1000 Dank!
 
N

Neueueue

Gast
was hast du denn jetzt bei deinem code geändert?`kannst du deine veränderte fassung posten`?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
C Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 10
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
Jose05 Nullpointerexception Java Basics - Anfänger-Themen 7
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
H Java NullPointerException Java Basics - Anfänger-Themen 4
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
L Threads Komischer NullPointerException Java Basics - Anfänger-Themen 2
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D NullPointerException im Array Java Basics - Anfänger-Themen 4
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
V NullPointerException Java Basics - Anfänger-Themen 2
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
scratchy1 NullPointerException Java Basics - Anfänger-Themen 19
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
F Wie kann ich diese NullPointerException umgehen?! Java Basics - Anfänger-Themen 41
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
W Optional<T> - NullPointerException Java Basics - Anfänger-Themen 37
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
M Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 13
D NullPointerException umgehen Java Basics - Anfänger-Themen 17
Z Objekt Array führt zum NullPointerException Java Basics - Anfänger-Themen 2
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
W ArrayList NullPointerException Java Basics - Anfänger-Themen 4
A NullPointerException Java Basics - Anfänger-Themen 6
S NullPointerException Java Basics - Anfänger-Themen 4
T OOP Wörterbuch NullPointerException Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
O NullPointerException Java Basics - Anfänger-Themen 2
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
L Variablen Unerklärliche NullPointerException Java Basics - Anfänger-Themen 2
E Compiler-Fehler nullPointerException in verschachteltem Modell Java Basics - Anfänger-Themen 6
DaCrazyJavaExpert Threads NullPointerException Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
kodela NullPointerException Java Basics - Anfänger-Themen 12
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H NullPointerException obwohl Objekt angelegt wurde Java Basics - Anfänger-Themen 1
A Threads Reentrantlock | NullpointerException möglicher Deadlock? Java Basics - Anfänger-Themen 0
K Compiler-Fehler NullPointerException lösen Java Basics - Anfänger-Themen 16
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
P Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 1
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
F NullpointerException bei zweidimensionalem Array Java Basics - Anfänger-Themen 2
Z OOP - Array ständig NullPointerException Java Basics - Anfänger-Themen 4
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
T Nullpointerexception und es wird nichts angezeigt Java Basics - Anfänger-Themen 15
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
B ProcessMessage NullPointerException Java Basics - Anfänger-Themen 11
shiroX Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 9
MrSnake ItemListener mit NullPointerException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
M NullPointerException Java Basics - Anfänger-Themen 8
B Vererbung NullPointerException Java Basics - Anfänger-Themen 38
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
G NullPointerException Java Basics - Anfänger-Themen 1
J NullpointerException Java Basics - Anfänger-Themen 1
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
D Java Fehler: NullPointerException Java Basics - Anfänger-Themen 1
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
X Problem mit NullPointerException Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
S Interpreter-Fehler Hilfestellung bei einer NullPointerException Java Basics - Anfänger-Themen 1
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
L NullPointerException Java Basics - Anfänger-Themen 11
M Nullpointerexception??? Java Basics - Anfänger-Themen 2
W NullPointerException bei DefaultListModel Java Basics - Anfänger-Themen 5
N NullPointerException bei Konsolenausgabe Java Basics - Anfänger-Themen 5
J Klasse in Klasse; NullPointerException Java Basics - Anfänger-Themen 8
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
Q NullPointerException Java Basics - Anfänger-Themen 5
H NullPointerException Java Basics - Anfänger-Themen 5
T Threads MultiThreading NullPointerException Java Basics - Anfänger-Themen 7
K NullPointerException wird geworfen, bitte um Hilfe! Java Basics - Anfänger-Themen 7
O Objekt weitergeben Meth Class NullPointerException Java Basics - Anfänger-Themen 2
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Array wird nicht übernommen NullPointerException Java Basics - Anfänger-Themen 6
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen


Oben