Avatar billede sholm Nybegynder
09. december 2002 - 04:08 Der er 6 kommentarer og
1 løsning

Dynamiske variabelnavne

Hejsa,

Jeg har brug for at kunne lave variabel navne dynamisk i java, jeg ved det ikke er en optimal løsning, men har ikke kunne komme på en bedre løsning.

Ex:
Jeg har en del af et variabelnavn "plads_" og så vil jeg gerne kunne sætte et tal i enden så jeg vil få en variabel der hedder plads_1, plads_2 osv...

Takker :O)
Avatar billede Slettet bruger
09. december 2002 - 04:47 #1
Du kan lave et array af plads variabler i stedet for. Det vil virke bedre.
Avatar billede arne_v Ekspert
09. december 2002 - 08:03 #2
Du har grundliggende 2 muligheder:

1)  hvis du kan nøjes med fortløbne tal som suffix (og det antyder
    dit spørgsmål), så kan du bruge arrays som gab siger (du kan
    bruge +1/-1 til at konvertere mellem 1..N og Java array
    0..N-1

2)  Mere generelt kan du bruge HashMap til at gemme
    vilkårlige key-value pairs.
Hvis du er meget meget skrap til Java kan du også generere
dine egne klasser dynamisk på runtime md f.eks. BCEL, men
det vil jeg ikke anbefale dig.
Avatar billede sholm Nybegynder
09. december 2002 - 21:13 #3
Okay, det lyder jo meget fornuftigt...men hvis du har et eksempel til at ligge med dit løsningsforslag nr. 1 vil det hjælpe mig meget.
Avatar billede arne_v Ekspert
09. december 2002 - 21:17 #4
Det er helt simpelt.

Eksempel:

int[] plads = new int[20];plads[0] = 123; // plads_1
plads[1] = 456; // plads_2

eller:

String[] plads = new String[20];
plads[0] = "abc"; // plads_1
plads[1] = "def"; // plads_2
Avatar billede arne_v Ekspert
09. december 2002 - 21:19 #5
Det eneste du skal huske er, at array index starter
med 0 ikke med 1.

Så hvis du skal have element nummer n skal du bruge [n-1]
som index.
Avatar billede sholm Nybegynder
09. december 2002 - 21:24 #6
Tak for hjælpen.
Avatar billede Slettet bruger
09. december 2002 - 21:28 #7
Det var så lidt...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester