Avatar billede mysitesolution Nybegynder
13. maj 2003 - 21:30 Der er 12 kommentarer og
1 løsning

Array i java

Hvordan er det med string array i java? Hvordan laver man et dobbelt array? og hvordan henter man data fra array?
Avatar billede soreno Praktikant
13. maj 2003 - 21:34 #1
String tekster[] = new tekster[5];
for(int i=0;i<tekster.length;i++)
{
  tekster[i] = "Hello " + i;
}

for(int i=0;i<tekster.length;i++)
{
  System.out.println(tekster[i]);
}
Avatar billede arne_v Ekspert
13. maj 2003 - 21:36 #2
Følgende må give et indtryk af mulighederne:

String[] a = new String[10];
for(int i = 0; i < a.length; i++) {
    a[i] = new String("Test " + i);
}
String s7 = a[7];
char s3c5 = s[3].charAt(5);
Avatar billede soreno Praktikant
13. maj 2003 - 21:37 #3
Man kan også initialisere sådan:
String tekster[] = {"Hello", "World", "fra", "mit", "damn", "array"};
Avatar billede thomasrosgaard Nybegynder
13. maj 2003 - 21:38 #4
Du opretter et String array i Java som følgende:

String txt[] = new String[10];

hvor 10 er længden på dit array.

Et dobbelt array oprettes på næsten samme måde:

String txt[][] = new String[10][10];

dette array vil så være 10 x 10 stort, altså 100 poster.

    0 1 2 3 4 5 6 7 8 9
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9

Du kan få fat i dataene på følgende måde:

String data = txt[0][2];

så er data = indholdet af txt-arrayets position 0,2


Med venlig hilsen

Thomas Rosgaard
Avatar billede mysitesolution Nybegynder
13. maj 2003 - 21:45 #5
kan man ikke gøre så man ikke skal lave en længde på arrayet
Avatar billede arne_v Ekspert
13. maj 2003 - 21:49 #6
Et array har altid en længde.

Men det kan godt være en variabel.

Altså:

int siz = l * 2 + 231;
String[] a = new String[siz];
Avatar billede soreno Praktikant
13. maj 2003 - 21:50 #7
Nej, så skal du istedet bruge en collection.
F.eks.
Vector
ArrayList

Vector vect = new Vector();
vect.add("Hello");
vect.add("World");
vect.add("blabla");

for(int i=0;i<vect.size();i++)
{
  System.out.println(vect.elementAt(i));
}

Bemærk at alle elementer i en Vector er objecter.
Derfor kan du ikke gøre sådan:
vect.add(2);

Du skal skrive:
vect.add(new Integer(2));

Tilsvarende skal du typecaste når du hiver objekter ud:
Kunde temp = (Kunde)vect.elementAt(i);
Avatar billede mysitesolution Nybegynder
13. maj 2003 - 21:50 #8
ahh... ok taks
Avatar billede arne_v Ekspert
13. maj 2003 - 21:50 #9
Ellers er der data strukturer som ArrayList og Vector der er
helt dynamiske.
Avatar billede soreno Praktikant
13. maj 2003 - 21:52 #10
Husk:
import java.util.*;

for at få adgang til Vector og andre spændende klasser.
Avatar billede thums Praktikant
14. maj 2003 - 05:30 #11
Det kan faktisk godt lade sig gøre at lave et dynmaisk array..... i det store hele er det faktisk sådan at de har lavet en Vector i standard klasserne. den tager nemlig et nyt array som er en tand større end det gamle og hælder alle informationer over i den... så stort set er en Vector bare 2 arrays der arbejder sammen...
Avatar billede thums Praktikant
14. maj 2003 - 05:39 #12
så jow... du kan godt lave et array uden en final længde... du skal blot benytte muligheden for at hælde fra et array til et andet.... koden bliver mere ulæselig end hvis du brugte en vektor... men der har folk jo hver sin smag :)
Avatar billede mysitesolution Nybegynder
14. maj 2003 - 17:07 #13
ok takker
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