Java: Wie kann ich ein zweidimensionales Char-Array mit chars füllen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Der index für messageInChar muss über die innere Schleife hinaus immer weitergeführt werden. Man könnte sich dafür eine extra Zählervariable anlegen.

for (int i = 0, j = 0; i < charArray.length; ++i) {
  for (int k = 0; k < charArray[0].length; ++k, ++j) {
    if (j < messageInChar.length) {
      charArray[i][k] = messageInChar[j];
    }
  }
}

Da im charArray insgesamt mehr Plätze frei sind, als messageInChar Zeichen hat, müssen die Fälle, bei denen der Index überlaufen würde, herausgefiltert werden.

Das Resultat wäre letztendlich Folgendes:

{
 { 'A', 'B', 'C', 'D', 'E', 'F', 'G' },
 { 'H', 'I', 'J', 'K', 'L', 'M', 'N' },
 { 'O', '\0', '\0',  '\0', '\0', '\0', '\0' }
}