13. april 2005 - 21:00Der er
18 kommentarer og 1 løsning
oprette array som classe
Jeg skal have oprettet en klasse der når man opretter den laver et todimensionelt array (int[][])...Der skal altså indtastes Klasse liste = new Klasse(5,4)
derpå skal den lave et 2d array på formen liste[5][4].
har rodet med det lidt men kan ikke lige gennemskue hvordan det skal stilles op i selve klassen.
Det må være nemt for nogle af jer der arbejder mere med java.
må jeg sige jeg er ret ny til det her. Kan godt få den til at lave det på den måde der. Men hvis jeg vil lave en metode der arbejder med dette array synes jeg ikke helt det funker..f.eks. hvis jeg prøver at lave toString-metoden om fra at skrive Hashcoden til at skrive a[1][1] (eller noget alá det) virker det ikke optimalt...
public class Sala { private int[][] a; public Sala(int m, int n) { a = new int[m][n]; }
public visSal() { int j=0; int i=0;
while (j < ) //her skal stå at j er mindre end antallet af variablen m) { while (i < ) //her skal stå at i er mindre end antallet af variablen n) { return a[j][i]; i++; } i=0; return(" "); j++; }
} }
dette er taget fra klassen. Man skal bare skrive variablen.visSal() i hovedklassen og så skal den udskrive hele arrayet opstillet af alle rækker og kollonner..Skal nok uddybe det lidt mere hvis det er helt uklart..
når jeg compiler den skriver den om "public visSal()" invalid method declaration; eturn type required. Ved godt det ikke er rigtig skrevet med return i selve metoden men det er det og det med hvordan variablen der indeholder arrayet skal skrives
nu brokker den sig ikke over det...super...men nu hvor jeg har skrevet void retunerer den ikke noget...og hvis jeg skriver f.eks. String skriver den at return a[j][i]; ikke er kompatibel med dette...skriver man int kan den ikke returnere return(" "); ...jeg kan ikke lige gennemskue den.
public class Sala { private int[][] a; public Sala(int m, int n) { a = new int[m][n]; }
public String visSal() { int j=0; int i=0;
while (j < a.length) //her skal stå at j er mindre end antallet af variablen m) { while (i < a[0].length) //her skal stå at i er mindre end antallet af variablen n) { String k = "" + a[j][i]; return k; i++; } i=0; return(" "); j++; }
while (j < a.length) //her skal stå at j er mindre end antallet af variablen m) { while (i < a[0].length) //her skal stå at i er mindre end antallet af variablen n) { System.out.print(a[j][i]); i++; } i=0; System.out.println(); j++; }
ja det kan godt passe...forstår ikke helt hvad du mener (er lidt ny til java) men som tidligere skrevet skal den hvis man opretter objektet k(5,5) skal den når man skriver k.visSal() skrive
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.