23. januar 2005 - 01:19Der er
5 kommentarer og 1 løsning
Kan ikke returnere et opdateret array!
I min metode "element" bliver der lavet en liste bestående af de tal som er i mit dobbelt array. Men jeg kan ikke få fat i denne liste i min listHere metode! Er der nogen som har et hint til hvad der går galt? Min listHere metode returnere tilsyneladende kun min private field som jeg har skrevet i starten af klassen.
public class Test { private int[][] map; private int[] list;
public Test() { map = new int [4][4]; map[3][3] = 1001; map[0][0] = 1002; }
public void element() { int z = 0; int k = 0;
for(int i = 0; i <= 3; i++) { for (int j = 0; j<=3; j++) { k = map[i][j]; list[z] = k; z++;
public Test() { map = new int [4][4]; // opretter et array lokalt i constructor metoden map[3][3] = 1001; // lægger en værdi i det lokale array map[0][0] = 1002; // og en til } // når metoden forlades bliver det lokale array smidt væk
'map' indeni den construkto er aldrig det array du definerer udenfor funktionen. lav om til: public Test() { //FJERNET LINIE map = new int [4][4]; map[3][3] = 1001; // lægger en værdi i det klassens array 'map' map[0][0] = 1002; // og en til }
Havde lige glemt at skrive list = new int[16]; i konstruktoren, så nu fungere det. Et andet spørgsmål. Hvis jeg i en anden klasse gerne vil have de første element i den liste som jeg kan hente fra listHere(), hvordan gør man så det? Jeg er med på at man skal lave en Test instans p fx:
Test p = new Test(); p.listHere();
Men hvordan får jeg et enkelt tal udad denne liste?
Du skal oprette en int[] array i den klasse som kalder metoden listHere();
Fx..
int[] nyliste;
nyliste = p.listHere();
nu har du din liste gemt i nyliste.
Du kan nu hive et tal ud.. fx. hvis du vil have index 0 ud
int tmp;
tmp = nyliste[0];
så gemmes det der står i index 0 i vores variabel tmp.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.