Een geheime boodschap wordt als volgt gecodeerd. Eerst worden enkel de letters van de boodschap overgehouden en achter elkaar geschreven. Op die manier komen er geen spaties, leestekens en andere karakters meer in de boodschap voor. De letters uit deze gereduceerde boodschap worden dan eerst kolom per kolom neergeschreven in een afgesproken aantal kolommen k, en aangevuld met willekeurige letters zodat een rechthoekig rooster gevormd wordt. Zo wordt de boodschap Always look on the bright side of life bijvoorbeeld op de volgende manier neergeschreven over vijf kolommen:
a o e s i
l o b i f
w k r d e
a o i e x
y n g o x
s t h f x
l h t l x
Merk hierbij op dat alle letters uit de boodschap werden omgezet naar kleine letters en dat de letter x gebruikt werd om ervoor te zorgen dat de letters in een rechthoekig rooster van vijf kolommen passen (aanvulling met andere letters is ook toegelaten). Op basis van het letterrooster wordt de boodschap gecodeerd door de letters in elke rij achter elkaar te schrijven, afwisselend van links-naar-rechts en van rechts-naar-links. De boodschap die we hierboven als voorbeeld gebruikt hebben, wordt dan als volgt gecodeerd:
aoesifibolwkrdexeioayngoxxfhtslhtlx
Maak een nieuw project aan met hoofdprogramma. Voeg de klasse Decoder toe. Deze klasse heeft één methode decodeer(boodschap,aantkolommen) , die de gedecodeerde tekst teruggeeft.
Het hoofdprogramma ziet er als volgt uit:
public static void main(String[] args) {
Decoder d = new Decoder();
d.decodeer("aoesifibolwkrdexeioayngoxxfhtslhtlx", 5); //uitvoer => alwayslookonthebrightsideoflife
System.out.println("");
d.decodeer("aohpdntilirndsnefxxftgonomceexxrloewftmyex", 6); //uitvoer => andnowforsomethingcompletelydifferent
}