Rückgabewert getter-methode < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Hallo,
ich habe ein 2D-Array mit lauter double-Werten. Mit einer getter-Methode möchte ich auf eine Zeile des Arrays zugreifen und diese komplett ausgeben.
Dazu habe ich folgende Methode geschrieben:
public static double getrows(int rows){
for(int i=0;i<tab[rows].length;i++){
a = tab[rows][i];
} return a;
}
Wie kann ich jetzt die Werte aus der for-Schleife an meine main-Klasse zurückgeben. Die Variable a kennt die Methode nach der geschweiften Klammer der for-schleife leider nicht mehr. Und es wird ja auch nicht nur ein Wert ausgegeben. Heißt das, dass ich die Werte in einem neuen Array speichern muss?
Ich komm da gerade echt nicht weiter. Wäre schön, wenn mir da jemand helfen könnte.
Schonmal nen guten Rutsch!
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:36 Fr 31.12.2010 | Autor: | Infinit |
Hallo florian,
das einfachste ist es wohl wirklich, die Werte der gewünschten Zeile in einem neuen Array zu speichern und dieses dann komplett zurückzugeben. Dies ist zumindest die klassische Methode, die ich aus etlichen Programmiersprachen kenne.
Viele Grüße und einen guten Rutsch,
Infinit
|
|
|
|
|
Danke für deine schnelle Antwort.
Nur frage ich mich immer noch, wie ich dann auf das neue Array außerhalb der if-schleife zugreifen soll, um mit return das Array zurückzugeben?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 14:48 Fr 31.12.2010 | Autor: | Infinit |
Vor der For-Schleife einen Vektor definieren und diesen dann mit "return" zurückgeben, das wäre mein Tipp.
Viele Grüße,
Infinit
|
|
|
|
|
Ich habe daraus nun das gemacht:
public static double getrows(int rows, double [][] tab){
double [] hilf = new double[tab[rows].length];
for(int i=0;i<tab[rows].length;i++){
hilf[i] = tab[rows][i];
} return hilf;
Hat man damit nicht noch immer das selbe Problem, dass die Werte, die innerhalb der if-schleife im array hilf gespeichert werden, nur auch dort sichtbar sind?
Als Fehler erhalte ich von der Konsole übrigens:
[mm] .\Table.java:16: [/mm] incompatible types
found : double[]
required: double
} return hilf;
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:06 Fr 31.12.2010 | Autor: | Infinit |
Hast Du es mal mit dem typ "Vector" ausprobiert? Diesen in der Methode initiieren und dann auch über die Signatur der Methode zurückgeben.
Viel Erfolg,
Infinit
|
|
|
|