Marcel: Mehrdimensionales Array übergeben

Hi!

Habe eine Methode, welche ein mehrdimensionales Array zurückgeben soll. In einer anderen Klasse sollen die Werte ausgegeben werden. Fehlermeldung: "array required, but java.lang.String found" Was mache ich da falsch?

Klasse 1:

public String ladeArray() {

String[][] strArr = new String[intCountRows][intCountFields];
   ...
   ...
   "Fülle Array auf..."
   ...
   ...
   return strArr[strArr.length-1][strArr[0].length-1];
}

#################################################################

Klasse 2:

public void empfangeArray() {

String strArr = Klasse1.ladeArray();

for(int intRow=0;intRow<strArr.length;intRow++){
   for(int intCol=0;intCol<strArr[intRow].length;intCol++){
    System.out.println(strArr[intRow][intCol]);
   }
}

Marcel

  1. Hallo,

    Habe eine Methode, welche ein mehrdimensionales Array zurückgeben soll. In einer anderen Klasse sollen die Werte ausgegeben werden. Fehlermeldung: "array required, but java.lang.String found" Was mache ich da falsch?

    Klasse 1:

    public String ladeArray() {

    ^Diese Funktion gbt einen String zurück ...

    String[][] strArr = new String[intCountRows][intCountFields];
       ...
       ...
       "Fülle Array auf..."
       ...
       ...
       return strArr[strArr.length-1][strArr[0].length-1];

    ^... und zwar genau dieses eine Element des vorher aufgefüllten Arrays.

    }

    #################################################################

    Klasse 2:

    public void empfangeArray() {

    String strArr = Klasse1.ladeArray();

    ^strArr ist ein String, und zwar das Element, welches Klasse1.ladeArray() zurückgibt.

    for(int intRow=0;intRow<strArr.length;intRow++){

    ^liefert die Länge des Strings in Zeichen

    for(int intCol=0;intCol<strArr[intRow].length;intCol++){

    ^Error

    System.out.println(strArr[intRow][intCol]);
       }
    }

    viele Grüße

    Axel

  2. hallo,

    public String ladeArray() {

    der rückgabetyp deiner funktion ist kein String, sondern ein (zweidimensionales) stringarray. folglich muss es heißen:

    public String[][] ladeArray()

    String[][] strArr = new String[intCountRows][intCountFields];
       ...
       ...
       "Fülle Array auf..."
       ...
       ...
       return strArr[strArr.length-1][strArr[0].length-1];

    hier gibst du einen String, und kein stringarray zurück. richtig währe:
    return strArr;

    }

    String strArr = Klasse1.ladeArray();

    falscher datentyp. es müsste heißen:
    String strArr[][] = Klasse1.ladeArray();

    der rest müsste richtig sein.

    mit freundlichen grüßen
       dimitri rettig

    --

    heilige nacht
              (von erich mühsam)
    geboren ward zu bethlehem
    ein kindlein aus dem stamme sem,
    und ist es auch schon lange her,
    seit's in der krippe lag,
    so freun sich doch die menschen sehr
    bis auf den heutigen tag.
    ministrer und agrarier,
    bourgeois und proletarier -
    es feiert jeder arier
    zur gleichen zeit und überall
    die christgeburt im rindviehstall.
    (das volk allein, dem es geschah,
    das feiert lieber chanukah.)
  3. Oje, war ja wohl logisch! Hatte den Durchblick einfach verloren. Danke.

    Gruss an alle

    Marcel