Mehrdimensionales Array übergeben
Marcel
- java
0 Axel Richter0 dimitri rettig0 Marcel
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
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
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
Oje, war ja wohl logisch! Hatte den Durchblick einfach verloren. Danke.
Gruss an alle
Marcel