Wie wiederhole ich eine for-Schleife beim erreichen eines Wertes

Vulkano

Mitglied
Hallo,

Dies ist die Erstellung eines Passwortgenerators. Bei dem int Wert "gzahl" schießt der Wert über die Großbuchstaben der ASCII Tabelle hinaus und gibt Zeichen aus, die nicht in einer normalen Tastatur einzutippen sind. Ich möchte, dass "gzahl" wieder von 65 startet, sobald es den Wert 91 erreicht hat, damit die Großbuchstaben des Alphabets wiederholt werden. Wie genau mache ich das?

Vielen Dank schon mal im Voraus 🙂

for (int i = 1; i < anzahl; i++) {
int zahl = zufall.nextInt(999);
int zahl2 = zufall.nextInt(999);
int gzahl = 65 + i;
int kzahl = 97 + 1;

String pw = (char) gzahl + "" + zahl + (char) kzahl + zahl2;
String ende = kurs + "user" + "00" + i;
String zeile = String.format("%s;%s", ende, pw);
System.out.println(zeile);
}
 
Ich finde den Passwortgenerator irgendwie seltsam.

Das erste Zeichen ist immer "B" und dann in alphabetischer Reihenfolge "C", "D", usw.

Danach folgt eine ein- bis dreistellige Zahl.

Darauf folgt das Zeichen "b".

Zuletzt kommt wieder eine ein- bis dreistellige Zahl.

Kann natürlich sein, dass das so als Aufgabe vorgegeben ist.
 
Ich finde den Passwortgenerator irgendwie seltsam.

Das erste Zeichen ist immer "B" und dann in alphabetischer Reihenfolge "C", "D", usw.

Danach folgt eine ein- bis dreistellige Zahl.

Darauf folgt das Zeichen "b".

Zuletzt kommt wieder eine ein- bis dreistellige Zahl.
Mist, er hat mein Passwort erraten. 😀
 
Java:
public class LittleDumbLoopDemo
{

    public static void main(String[] args)
    {
        for (int i = 65; i <= 68; i++)
        {
            System.out.println("i : " + i);
            if (i == 68)
            {
                i = 65;
            }
        }
    }

}
 
Nur als Idee für dich:

Du könntest aus einem gegebenen Alphabet zufällig ein Zeichen ziehen.

Java:
String alpha = "ABCDEFGHIJKLMNPQRSTXYZabcdefghijklmnopqrstuvwxyz0123456789";

for(int i = 0; i < passwordLenght; i++) {
    password += alpha.charAt(random.nextInt(alpha.length()));
}
 
Betrachtet die ASCII-Tabelle. Die Großbuchstaben fangen an der Stelle 65 an und enden an der 90. Stelle. Ich möchte, dass die for-Schleife, wenn es die 90. Stelle erreicht hat, wieder von 65 an anfängt zu zählen. Dass es nach der Reihenfolge des Alphabets geht, und nicht random, ist egal.

Zu Anfang wird der Kursname eingegeben und danach wird gefragt, wieviele Teilnehmer angelegt werden sollen. Also wenn ich z.B. per Scanner 200 eingebe, schießt das an der 90. Stelle der ASCII-Tabelle vorbei und als Resultat kommen komische Zeichen bei raus.

Dass ich die Zeichen auch als String anlegen bzw. vorgeben kann, ist mir klar. Allerdings wollte ich genau diesen Gedanken implementieren.

Vielen Dank für eure Antworten und Vorschläge 🙂
 

Zurück
Oben