Avatar billede i-mox Nybegynder
26. november 2004 - 10:57 Der er 5 kommentarer og
1 løsning

Kloning af et to dimensionelt array af char's

Hejsa.

Jeg sidder med en lidt tricky opgave, hvor jeg skal klone et to-dimensionelt array af chars. Jeg har kunnet læse mig til at dette ikke umiddelbart kan lade sig gøre, da java ikke har to-dimensionelle arrays som type, og man derfor er nødt til at benytte sig af noget deep-cloning agtigt noget.

Da jeg ikke er den store programmeringshaj, ville jeg lige høre om der var nogen der kunne skrive en metode der modtog et char[][] og returnerede et ligedant, bare i klonet udgave, samt hvordan man skal kalde den fra en metode!

Bedste hilsner
Mads
Avatar billede arne_v Ekspert
26. november 2004 - 11:00 #1
Jeg lavede engang det her lille eksempel:

public class TwoDimClone {
  public static void main(String[] args) throws Exception {
      int[] one = new int[]{5,5};
      int[] oneClone = (int[])one.clone();
      one[1]=0;
      System.out.println(oneClone[1]);
      int[][] two = new int[][]{{5,5,5},{5,5,5},{5,5,5}};
      int[][] twoClone = (int[][])two.clone();
      two[1][1] = 0;
      System.out.println(twoClone[1][1]);
      int[][] three = new int[][]{{5,5,5},{5,5,5},{5,5,5}};
      int[][] threeClone = new int[three.length][];
      for(int i = 0; i < threeClone.length; i++) {
        threeClone[i] = (int[])three[i].clone();
      }
      three[1][1] = 0;
      System.out.println(threeClone[1][1]);
  }
}
Avatar billede arne_v Ekspert
26. november 2004 - 11:03 #2
Som i din kontekst vil blive:

public char[][] twodimchararrayclone(char[][] a)
{
      char[][] res = new char[a.length][];
      for(int i = 0; i < res.length; i++) {
          res[i] = (char[])a[i].clone();
      }
      return res;
}
Avatar billede i-mox Nybegynder
26. november 2004 - 11:28 #3
Hej Arne!

Tusind tak for hjælpen. Tror faktisk at det er løsningen! Jubii :-)
Avatar billede i-mox Nybegynder
26. november 2004 - 11:33 #4
Smider du et svar så du kan få point?
Avatar billede arne_v Ekspert
26. november 2004 - 11:37 #5
kommer her
Avatar billede i-mox Nybegynder
26. november 2004 - 12:21 #6
takker og bukker
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