NullPointerException beim Addieren von Matrizen

noplan

Mitglied
Hallo.

Ich möchte mit folgender Methode 2 Matrizen addieren bzw subtrahieren. Beide Matrizen haben die gleiche Größe und sind leer. Ich dachte, leere Matrizen sind mit Nullen gefüllt, oder ist das evtl. der Grund, warum der compiler meckert?!
Matrix "matrix" existiert natürlich auch (als Instanzvariable).


Java:
    public void MatrixAdd(int n2) {
   		matrix2 = new int[n2][n2];
   		System.out.println("Addieren: 0, subtrahieren: 1");
   		int as = Stdin.readInt();
   		if (as == 0) {
   			for (int i = 0; i < matrix2.length; i++) {
				for (int j = 0; j < matrix[i].length; j++) {
				ergebnisAdd[i][j] = matrix[i][j] + matrix2[i][j];
			}
			} 
   		}
   		
   		if (as == 1) {
   			for (int i = 0; i < matrix.length; i++) {
				for (int j = 0; j < matrix[i].length; j++) {
				ergebnisAdd[i][j] = matrix[i][j] - matrix2[i][j];
   				}
    		}	
    	}
    }

Fehlermeldung:

Code:
Exception in thread "main" java.lang.NullPointerException
	at QMatrix.MatrixAdd(QMatrix.java:76)
	at QMatrix.main(QMatrix.java:190)
 
S

SlaterB

Gast
welche Zeile 76 ist wäre jetzt eine goldige Info, darauf hast du aber verzichtet,
letzlich wird aber wohl doch entweder ergebnisAdd oder matrix null sein,

deine Beteuerungen sind der allgemeinen Erfahrung nach bei solchen Themen wenig glaubhaft,
ein umfassende nahezu eindeutige Situationsprüfung wäre sehr einfach möglich:
Java:
System.out.println("gleich beginnt die Arbeit, wie ist die Lage? "+
         "ergebnisAdd ist: "+ergebnisAdd+", matrix ist: "+matrix);
ansonsten mehr Code posten, bis hin zu einem vollständigen Testprogramm, vielleicht reicht aber auch die komplette Matrix-Klasse
 

noplan

Mitglied
Ok, ich wollte das mit dem Code knapp halten, da der doch etwas unübersichtlich ist :)
Die Fehlermeldung erscheint sobald man in der Methode MatrixAdd 0 oder 1 drückt, um eben 2 Matrizen zu addieren oder subtrahieren.

Also hier mal komplett:

[Java]
public class QMatrix {

// Instanzvariablen
private static int n;
private static int n2;
private int[][] matrix;
private int[][] matrix2;
private int[][] ergebnisAdd;


// Konstruktor baut quadratische Matrix aus Eingabewert
public QMatrix () {
this.matrix = new int[n][n];

}
// überschriebene toString Methode gibt die Matrix als String aus
public String toString() {
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix.length; j++) {
System.out.print(matrix[j] + " ");
}
System.out.println();
}
return "";
}

// setMatrix zum Einspeisen von neuen Werten
public void setMatrix(int x, int y, int r) {
matrix[x][y] = r;
}

// getMatrixDim gibt die Dimension der Matrix zurueck. Da quadratisch, reicht eine.
public int[][] getMatrixDim(int x, int y) {
return matrix;
}

// getMatrix liefert den Wert einzelner Felder der Matrix
public int getMatrix(int x, int y) {
int r;
r = matrix[x][y];
return r;
}

// Konstmult multipliziert eine Konstante mit einem Feld der Matrix
public void Konstmult(int k1) {
System.out.println("Mit welchem Feld soll multipliziert werden? ");
System.out.print("x-Koordinate: ");
int feldmult1 = Stdin.readInt();
System.out.print("y-Koordinate: ");
int feldmult2 = Stdin.readInt();
int r = getMatrix(feldmult1, feldmult2);
r = r * k1;
setMatrix(feldmult1, feldmult2, r);
}

// KonstmultAlle multipliziert eine Konstante mit allen Feldern der Matrix
public void KonstmultAlle(int k2) {
int r;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix.length; j++) {
r = matrix[j];
// System.out.print(r*k2 + " ");
setMatrix(i, j, r*k2);
}
}
}

public void MatrixAdd(int n2) {
this.matrix2 = new int[n2][n2];
System.out.println("Addieren: 0, subtrahieren: 1");
int as = Stdin.readInt();
System.out.println(matrix.length);
if (as == 0) {
for (int i = 0; i < matrix2.length; i++) {
for (int j = 0; j < matrix.length; j++) {
ergebnisAdd[j] = matrix[j] + matrix2[j];
}
}
}

if (as == 1) {
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix.length; j++) {
ergebnisAdd[j] = matrix[j] - matrix2[j];
}
}
}
}


// main Methode
public static void main(String[] args) {
System.out.print("Bitte Dimension nxn der Matrix eingeben: ");
n = Stdin.readInt(); // Eingabe der Dimension der Matrix
// Erzeugung der Matrix über den Konstruktor QMatrix
QMatrix q = new QMatrix();
QMatrix q2 = new QMatrix();
int z = 1;


// Menue

int k = 0;
while (k != 7) {

System.out.println("1. Ein einzelnes Feld mit Werten besetzen");
System.out.println("2. Ausgabe der Matrix");
System.out.println("3. Ein einzelnes Feld auslesen");
System.out.println("4. Multiplikation eines Feldes mit einer Konstanten");
System.out.println("5. Multiplikation aller Felder mit einer Konstanten");
System.out.println("6. Zweite Matrix zu erster addieren / subtrahieren");
System.out.println("7. Beenden");
k = Stdin.readInt();

if (k == 1) {
// Eingabe von Werten über setMatrix
System.out.print("Soll ein Feld der Matrix mit Werten besetzt werden? 1/0 ");
z = Stdin.readInt();
if (z == 1) {
while (z != 0) {
System.out.print("Welches Feld? x-Koordinate: ");
int x = Stdin.readInt();
System.out.print("und y-Koordinate ");
int y = Stdin.readInt();
System.out.print("mit welchem Wert? ");
int r = Stdin.readInt();
q.setMatrix(x, y, r);
System.out.print("Weitere Felder? 1/0 ");
z = Stdin.readInt();
}
}
}

if (k == 2) {
// Ausgabe der Matrix über q
System.out.println(q);
// Ausgabe der Dimension der Matrix über getMatrixDim
System.out.println("Dimension der Matrix ist: " + q.getMatrixDim(n, n).length+"x"+q.getMatrixDim(n, n).length + " Felder.");
}

if (k == 3) {
// Auslesen eines einzelnen Feldes der Matrix über getMatrix
System.out.println("Soll ein einzelnes Feld ausgelesen werden? 1/0 ");
z = Stdin.readInt();
if (z == 1) {
while (z != 0) {
// Koordinaten des Feldes
System.out.print("Welches Feld? x-Koordinate: ");
int x = Stdin.readInt();
System.out.print("und y-Koordinate ");
int y = Stdin.readInt();
// Abfrage des Wertes über getMatrix
System.out.println("Das Feld hat den Wert " + q.getMatrix(x, y));
System.out.println("");
System.out.print("Weitere Felder? 1/0 ");
z = Stdin.readInt();

}
}
System.out.println("");
}

if (k == 4) {
// Multiplikation eines Feldes der Matrix mit einer Konstanten
System.out.print("Soll die Matrize mit einer Konstanten multipliziert werden? 1/0 ");
z = Stdin.readInt();
if (z == 1) {
System.out.print("Konstante eingeben: ");
int k1 = Stdin.readInt();
q.Konstmult(k1);
}
}

if (k == 5) {
// Multiplikation der Matrix mit einer Konstanten
System.out.print("Soll die Matrize mit einer Konstanten multipliziert werden? 1/0 ");
z = Stdin.readInt();
if (z == 1) {
System.out.print("Konstante eingeben: ");
int k2 = Stdin.readInt();
q.KonstmultAlle(k2);
}
}

if (k == 6) {
System.out.println("Dimension der zweiten Matrix angeben (Hinweis: Matrizen müssen gleiche Groesse haben): ");
n2 = Stdin.readInt();
// System.out.println(q2);
q2.MatrixAdd(n2);


}
}
}
}

[/code]

Da ich inwzischen ein bischen drin herumgeschrieben habe, hier auch nochmal die aktuelle Fehlermeldung:

Code:
Exception in thread "main" java.lang.NullPointerException
	at QMatrix.MatrixAdd(QMatrix.java:76)
	at QMatrix.main(QMatrix.java:189)
 

noplan

Mitglied
Ok, ich glaube, es hängt doch irgendwie mit der matrix2 zusammen. Ich glaube die ist 0, weshalb ich natürlich nicht addieren kann.

edit: Nee doch nicht. matrix und matrix2 gibts, trotzdem gehts nicht ;(

edit2: Habs gelöst :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
S Input/Output nullpointerException beim schliessen von stream Java Basics - Anfänger-Themen 3
C Klassen NullPointerException beim Event Handling in GUI Java Basics - Anfänger-Themen 8
S NullPointerException beim Checkbox-Label-Array mit nextLine() Java Basics - Anfänger-Themen 6
R NullPointerException beim Klick auf Button Java Basics - Anfänger-Themen 3
G java.lang.NullPointerException beim objekt Java Basics - Anfänger-Themen 3
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
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
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
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
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

Ähnliche Java Themen

Neue Themen


Oben