zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Ja. Aber ich glaube, das es einfacher ist den String in drei Schritten anzulegen.

Das Passwort erstellen

Als nächstes erstellt das Programm das Passwort:

    String passwort = "";
    int j = 0;

    while ( j < anzahlZeichen )
    {
      passwort = passwort + auswahl.charAt( rand.nextInt( auswahl.length() ) );
      j = j + 1;
    }

Zuerst wird passwort mit einem Leerstring initialisiert. Dann werden zufällige Zeichen, ausgewählt aus auswahl, eines nach dem anderen angehängt. Der Ausdruck

rand.nextInt( auswahl.length() )

wählt zufällig einen Integer von 0 bis (aber nicht einschließlich) der Länge des Strings von auswahl. Dann wird dieser Integer verwendet, um ein Zeichen aus dem String auswahl zu wählen. Angenommen die Zufallszahl ist 7. Dann ist

auswahl.charAt( 7 )

das 8. Zeichen in dem String auswahl, da das Zählen mit 0 beginnt. Dieses Zeichen wird an das Passwort angehängt und die Schleife wird wiederholt. (Mehr über Stringmethoden findet Ihr im Kapitel 29.)

FRAGE 16:

In dem oben stehenden passieren ungefähr 4 Dinge in einer Anweisung. Das könnte schwer nachzuvollziehen sein. Ist das Folgende äquivalent?

String passwort = "";
int j = 0;
int bereich, index;
char ch;
while ( j < ziffern )
{
  bereich = auswahl.length();
  index = rand.nextInt( bereich );
  ch = auswahl.charAt( index );
  passwort = passwort + ch;
  j = j + 1;
}