001 package de.hska.java.aufgaben.felder;
002
003 /**
004 * Erzeugt Passwörter aus den Endbuchstaben aller Teilwörter eines Satzes.
005 * <p>
006 * <a href="http://www.home.hs-karlsruhe.de/~pach0003/informatik_1/aufgaben/felder.html#passwort_erzeugen">Zurück zum Aufgabentext</a>
007 * </p>
008 *
009 * @author Christian Pape
010 */
011 public class PasswortGenerator {
012
013 /**
014 * Gibt zum gegeben <code>satz</code> ein Passwort zurück, welches aus den
015 * Endbuchstaben der Wörter des Satzes gebildet wird. Alternierend wird bei
016 * Buchstaben zwischen Gross- und Kleinschreibung gewechselt. Der erste
017 * Buchstabe des Passworts wird gross geschrieben.
018 * </p>
019 * Als Wörter gelten alle durch ein oder mehrere Leerzeichen getrennte
020 * Folgen von Zeichen. "Wenn es regnet, dann wird es nass ." besteht aus den
021 * Teilwörtern "Wenn" "es" "regnet," "dann" "wird" "es" "nass" ".".
022 */
023 public String getPasswort(String satz) {
024 String [] teilwoerter = satz.split(" +");
025 String passwort = "";
026
027 boolean grossbuchstabe = true;
028 for (String wort : teilwoerter) {
029 char c = wort.charAt(wort.length() - 1);
030 if ( Character.isLetter(c)) {
031 if (grossbuchstabe) {
032 c = Character.toUpperCase(c);
033 grossbuchstabe = false;
034 } else {
035 c = Character.toLowerCase(c);
036 grossbuchstabe = true;
037 }
038 }
039 passwort += c;
040 }
041
042 return passwort;
043 }
044 }