14. november 2003 - 16:16
Der er
10 kommentarer og 1 løsning
Opret array i et andet array. Kan man det?
Jeg har brug for et array hvor hvert "felt" array[i] indeholder en liste af strings, fx {hej,jh,lk}. Men er det muligt at lave et nyt array inde i et andet? fx String[] array = new String[6] på plads array[i] skal der oprettes et nyt array indeholdende fx {hej,jh,lk}.
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
14. november 2003 - 16:23
#1
Du kan lave et Object-array som indeholder andre arrays... Object[] arrays = new Object[3]; String[] tekst1 = {"HEJ", "FARVEL"}; String[] tekst2 = {"HEJ", "FARVEL"}; String[] tekst3 = {"HEJ", "FARVEL"}; arrays[0] = tekst1; arrays[1] = tekst2; arrays[2] = tekst3;
14. november 2003 - 16:24
#2
Brug et 2 dimensionelt array. I Java er det nemlig et array af arrays (og de "inderste" behøver ikke være lige lange).
14. november 2003 - 16:24
#3
Du kan også vælge at bruge en ArrayList, som kan indeholde objekter - og som er dynamisk... ArrayList list = new ArrayList(); String[] tekst1 = {"HEJ", "FARVEL"}; String[] tekst2 = {"HEJ", "FARVEL"}; String[] tekst3 = {"HEJ", "FARVEL"}; list.add(tekst1); list.add(tekst2); list.add(tekst3);
14. november 2003 - 16:30
#4
Eksempel: public class TwoDim { public static void main(String[] args) { String[][] s = new String[3][]; for(int i = 0; i < s.length; i++) { s[i] = new String[i+1]; for(int j = 0; j < s[i].length; j++) { s[i][j] = Integer.toString(i+j); } } for(int i = 0; i < s.length; i++) { for(int j = 0; j < s[i].length; j++) { System.out.print(" " + s[i][j]); } System.out.println(); } } }
14. november 2003 - 17:03
#5
oki. Hvis jeg laver det på flg måde Object[] arrays = new Object[3]; arrays[2] = new String[4]; hvordan kan jeg så sætte det første felt i det indre array til fx "hej" og hvordan kan jeg genneløbe det indre array for at se om det indeholder "hej"
14. november 2003 - 17:57
#6
Som det her: public class ObjArr { public static void main(String[] args) { Object[] s = new String[3][]; for(int i = 0; i < s.length; i++) { s[i] = new String[i+1]; for(int j = 0; j < ((String[])s[i]).length; j++) { ((String[])s[i])[j] = Integer.toString(i+j); } } for(int i = 0; i < s.length; i++) { for(int j = 0; j < ((String[])s[i]).length; j++) { System.out.print(" " + ((String[])s[i])[j]); } System.out.println(); } } }
14. november 2003 - 17:57
#7
Men jeg synes at 2D array har en pænere syntax.
14. november 2003 - 18:22
#8
gennemløb = for løkker
30. november 2003 - 23:14
#9
Lukke tid ?
08. januar 2004 - 13:32
#10
Hvad fandt du frem til???
15. februar 2004 - 10:50
#11
sry. Har desværre glemt at lukke. jeg fandt frem til en løsning vha arne_v's forslag
Kurser inden for grundlæggende programmering