Sieht ziemlich kompliziert aus (Bitte nicht erwürgen). Ich glaub das geht auch einfacher und übersichtlicher...
Ich hab mir im einzelnen nicht alles durchgelesen, auch nicht die Quelltexte, aber ich würde ein char-Array erstellen und dann per Zufallsgenerator ein Feld des Arrays und des Zeichens bestimmen lassen, das dann an dieser Stelle eingesetzt wird...