user3274853
user3274853

Reputation: 3

Place String into 2 dimensional array

To put a String into a single array is easy but I want to put a string into a 2d char[][]; I'm stuck here, can some one help me please ... Thank u, ans sorry for my bad English!

    String woord = "GPDNATSFASELNIERTPOTSRARIRRCOOFPUAUOGONOTORENOTUAMRHRILGTPOFRSCENOIEKLMETANTRSRUNIAARSETEITNAKAVERNTEJLIBFTNVOTWEEDEKLASC";

    char[][] bord = new char[11][11];
    char[] letters = woord.toCharArray();
    int teller = 0;
    //Board into a single array
            for (int i = 0; i < woord.length(); i++) {
                letters[i] = woord.charAt(i);
                teller++;
                System.out.print(letters[i]);
                if (teller % 11 == 0) {
                    System.out.println();
                }
            }     
    //Board into a 2d Array
    for (int r = 0; r < bord.length; r++) {
         bord[r][0]=letters[r];   //<=== first 11 letters, next?
         System.out.print(bord[r][0]);
         for (int c = 0; c < bord[0].length; c++) {
              //??
         }
    }

Upvotes: 0

Views: 1722

Answers (1)

You can use usual trick applied for multi-dimensional arrays while traversing it. r*11 + a value (according to loops) will give us the next character of string. Below code,

//Board into a 2d Array
for (int r = 0; r < bord.length; r++) {
     for(int a = 0; a < 11; a++)
         bord[r][a] = letters[r*11 + a];

     System.out.println(bord[r]);
}

will give the output:

GPDNATSFASE
LNIERTPOTSR
ARIRRCOOFPU
AUOGONOTORE
NOTUAMRHRIL
GTPOFRSCENO
IEKLMETANTR
SRUNIAARSET
EITNAKAVERN
TEJLIBFTNVO
TWEEDEKLASC

Upvotes: 1

Related Questions