Java Zweidimensionale Tabelle erstellen?

1 Antwort

In Zeile 6 erzeugst du eine lokale Variable, die dein Feld aus Zeile 3 überdeckt. Dein Feld bekommt also nie ein Array zugewiesen, auf welches du in deiner drucke-Methode allerdings zugreifen willst.

Zeile 6 sollte so aussehen:

zahlen = new int[zahl1][zahl2];

Dann zeigt dein Feld auf ein Array, welches im Anschluss auch befüllt wird.

Voraussetzung hierbei ist natürlich, dass die multiplizeren-Methode stets zuerst ausgeführt wird. Um diese Abhängigkeit aufzulösen, wäre es besser, das Feld im Konstruktor zu definieren.

public class Zweidimension {
  private int[][] zahlen;

  public Zweidimension(int zahl1, int zahl2) {
    zahlen = new int[zahl1][zahl2];
  }

  public void multiplizieren() {
    /* ... */
  }

  public void drucke() {
    /* ... */
  }
}