Methode mit zweidimensionalem Array als Parameter: '.class' expected

sceptical

Mitglied
Hallo,

ich bin ziemlich blutiger Anfänger was Java angeht und hab jetzt ein kleines Problem: Im Zuge meiner Facharbeit, die den Gaußschen Algorithmus (ein Verfahren zur Berechnung linearer Gleichungssysteme) behandelt, soll ich diesen praktisch in Form eines Java-Programmes realisieren. Die Gleichungen lese ich als ein zweidimensionales Array, der Länge und Breite n, namens Matrix ein. Jetzt möchte ich eine Methode schreiben, die einfach nur die Matrix in ihrem aktuellen Zustand ausgibt. Mit untigem Code wollte ich das erreichen, bekomme aber immer folgende Fehlermeldung:

Code:
'.class' expected
    System.out.println(printMatrix(matrix[][], 3, 30));

Hier der entsprechende Code:

Java:
//Methode zum Ausgeben der Matrix
  public static void printMatrix(double[][] matrix, int n, int s) {
    //Bezeichnung der Variablen
    char var[] = new char[n+1];
    var[0] = 'x';
    var[1] = 'y';
    var[2] = 'z';
    var[3] = 'b';
    //Beschriftung
    for (int i = 0; i < n+1; i++) {
      System.out.print(" "+var[i]+" \t");
    }
    System.out.println("\n"+createSeparator(s));
    //Zeilen
    for (int Z = 0; Z < matrix.length; Z++) {
      //Spalten
      for (int S = 0; S < matrix[Z].length; S++) {
	if (matrix[Z][S] >= 0) {
	  System.out.print(" ");
	}
	System.out.print(matrix[Z][S]+"\t");
      }
      System.out.print("\n");
    }
  }

Und so möchte ich die Methode aufrufen, sodass sie die Matrix ausgibt:

Java:
System.out.println(printMatrix(matrix[][], 3, 30));

Ich weiß nicht so ganz was hier schief läuft. Offensichtilch passt dem Compiler nicht, wie ich das Array an die Methode übergeben möchte. Wie geht es richtig?

Ist es überhaupt korrekt als Return-Typ void anzugeben? War mir da nicht so ganz sicher. Aber an für sich gibt die Methode ja keinen Wert zurück, sondern soll einfach nur eine Routine durchführen.

Achja und diese createSeperator Methode erzeugt einfach eine Trennlinie der Länge s.
 
Zuletzt bearbeitet:
Ich weiß nicht so ganz was hier schief läuft. Offensichtilch passt dem Compiler nicht, dass wie ich das Array an die Methode übergeben möchte. Wie geht es richtig?

ohne die Klammern und wenn nichts zurückgeben wird, kannst du natürlich auch den Aufruf nicht mit System.out machen! (die Ausgabe macht ja auch schon die Methode.....)
 
Das hat den Nagel genau auf den Kopf getroffen! Und das mit dem unnützen System.out.println ergibt allerdings auch ziemlich Sinn wenn ich so drüber nachdenk...

Vielen Dank ^^!
 

Neue Themen


Zurück
Oben