Hilfe ein NullPointerException - wie kann ich den Fehler beheben?

  • Themenstarter Themenstarter Krossec
  • Beginndatum Beginndatum
K

Krossec

Hallo Ihr Profis des Java-Forums,
ich hab da mal wieder ein kleinen Problem mit einem NullPointerException, der beim Einlesen in mein Array-Feld "regression_Werte"
auftritt.
Das der von folgendem Code kommt:

Java:
....
private static int a = 0, b = 0;
int[][] regression_Werte = null;
	
public void Summen(int[][] intArray) throws IOException
{				
    int N = intArray.length;
    int Summe_X=0, Summe_Y=0, Summe_XY=0, Summe_Xquat=0;
		  
     for(int i=0; i<intArray.length; i++)
    {
	  // Ermittlung der Einzelsummen
         Summe_XY = Summe_XY+(intArray[i][0]*intArray[0][i]); 
	 Summe_X = Summe_X + intArray[i][0];
	 Summe_Y = Summe_Y + intArray[0][i];
	 Summe_Xquat = Summe_Xquat + intArray[i][0] * intArray[i][0];
			  
	 try
         { 
             // Formel der Einzelsummen für b	  
             regression_Werte[0][i]=(Summe_XY-(Summe_X*Summe_Y)/N)/(Summe_Xquat-(Summe_X*Summe_X)/N);
	 
             // Formel der Einzelsummen für a
	    regression_Werte[i][0]=Summe_Y/N-(regression_Werte[0][i]*Summe_X)/N;
	
           System.out.println(regression_Werte[i][0]+" "+regression_Werte[i][0]);
            //********** Aufruf des Koordinaten-Systems X-Y *********
           FirstGUI f = new FirstGUI(regression_Werte);
           f.setLocation(450,150);
           f.setBackground(Color.lightGray);
        }
       catch(NullPointerException nep)
       {
          System.out.println("Fehler: "+nep);
       }
   }
}

Könnt Ihr mir helfen?
Liebe Grüße, Krossec.
 
Hier mal die Reihenfolge, in welcher du regression_Werte verwendest....

Java:
int[][] regression_Werte = null;
regression_Werte[0][i]=(Summe_XY-(Summe_X*Summe_Y)/N)/(Summe_Xquat-(Summe_X*Summe_X)/N);
regression_Werte[i][0]=Summe_Y/N-(regression_Werte[0][i]*Summe_X)/N;
System.out.println(regression_Werte[i][0]+" "+regression_Werte[i][0]);
FirstGUI f = new FirstGUI(regression_Werte);

Was fällt dir auf?
...




Richtig! regression_Werte weiß war, dass es auf ein 2dimensionales int-Feld verweisen soll, allerdings weiß es noch nicht auf welches oder anders gesagt es fehlt das Objekt. Woher zum Beispiel soll es wissen welche Größe das Array hat? Also

Java:
int[][] regression_Werte = null; //null ist hier nicht gut!

Edit: Hier eine kleine Lesehilfe --> http://www.programmersbase.net/Content/Java/Content/Tutorial/Java/Array.htm#07
 
Zuletzt bearbeitet von einem Moderator:
ich denke eher das hier ein anfänger-fehler vorliegt
die verwendung des array's erinnert mich stark an z.b. PHP wo das array dann zur laufzeit erstellt / verändert wird
in java allerdings muss das schon vor dem compilen klar sein ...
wenn du also in ein quasi leeres array etwas schreiben willst macht es sich einfacher vorher die werte in entsprechenden caster-klassen ... wie zum beispiel Enumeration oder Vector ... zu spiechern *ja .. diese klassen besitzen dynamik* und dann zum schluss daraus das array zu erzeugen und zu füllen ... *was für mich persönlich nur speicher und rechenzeit verschwendung ist*
du solltest dir also vorher über die funktionsweise bewusst sein und erstmal gedanklich einen ablaufplan aufstellen bevor du einfach anfängst wild drauf los zu programmieren
 
Danke euch beiden, aber ich habe das schon alleine hin bekommen.

Trotzdem vielen dank für Eure Bemühungen.

Guß, Krossec.
 
ich habe das schon alleine hin bekommen.
Hallo,

eine NullPointerException zu fixen ist trivial. Was die Antworten zu vermitteln versuchten waren Erläuterungen warum sich solche Fehler einschleichen und Praktiken, solche Probleme zu vermeiden.
Wenn du eine Lösung erarbeitet hast, dann poste die doch noch und setzte den Status auf erledigt. Das hilft Anderen, die deinen Thread über Suchmaschinen finden.

Gruss
 
Zurück