DjaDja Geschrieben 15. November 2006 Geschrieben 15. November 2006 Hi leute, Ich komm nicht weiter: Problem ich soll einen Passwortgenerator progarmmieren, folgende Bedingungen werden anfangs abgefragt: Bitte geben Sie die gewuenschte Anzahl von Passwoertern an: .. Bitte geben Sie die minimale Laenge eines Passwortes an: .. Bitte geben Sie die maximale Laenge eines Passwortes an: .. Soweit so gut die Abfrage bekomme ich hin, die Schleife für die Anzahl der Passwörter auch! for( int i = 0; i < anzahl; i++ ) {....... } Wie aber kann ich jetzt Felder erstellen die unterschiedliche lang sind? Damit ich später dann werte rein schreiben kann. Kann mir jemand da etwas auf die Sprünge helfen? Gruß :uli Zitieren
perdian Geschrieben 15. November 2006 Geschrieben 15. November 2006 Wie aber kann ich jetzt Felder erstellen die unterschiedliche lang sind? int numberOfEntries = 42; String[] passwordArray = new String[numberOfEntries]; for(int i=0; i < numberOfEntries; i++) { passwordArray[i] = this.createPassword(); } Zitieren
DjaDja Geschrieben 15. November 2006 Autor Geschrieben 15. November 2006 Danke für die schnelle Antwort aber oben frag ich ja z.B. anzahl = readInt("Bitte geben Sie die gewuenschte Anzahl von Passwoertern an: "); mini = readInt("Bitte geben Sie die minimale Laenge eines Passwortes an: "); maxi = readInt("Bitte geben Sie die maximale Laenge eines Passwortes an: "); wenn ich da jetzt 6,3,8 eingebe muss Ãch ja 6 Passwörter erzeugen mit mindestens 3 und höchstens 8 Zeichen. Dein Code überprüft die Schranken nicht oder seh ich das falsch? Ich weiß nicht wie ich diese zwei Schranken einbauen soll. Zitieren
perdian Geschrieben 15. November 2006 Geschrieben 15. November 2006 Dein Code überprüft die Schranken nicht oder seh ich das falsch?Nein, tut er nicht. Das ist ein Beispiel, wie die dynamische Generierung eines Arrays prinzipiell funktioniert und keine Komplettlösung für deine Frage. Ich weiß nicht wie ich diese zwei Schranken einbauen soll.Dann hast du scheinbar noch sehr wenig Ahnung von den Java Grundlagen, die sich auch nicht mal eben in zwei Postings und fünf Minuten lesen klären lassen. Deshalb: Nimm dir ein gutes Tutorial und fange an die Sprache zu lernen. Durch herumprobieren wirst du nie wirklich weit kommen. Dein Stichworte für die aktuelle Aufgabe lauten übrigens IF-Abfrage und Schleife. Zitieren
Eytibi Geschrieben 15. November 2006 Geschrieben 15. November 2006 Wie wärs wenn du ein Char[] machst, welches eine Länge besitzt, die innerhalb dieser Schranken ist. Die Länge kannst du dann ja mit deinem frisch gelernten Zufallszahl-Generator ermitteln Zitieren
ksg9-sebastian Geschrieben 16. November 2006 Geschrieben 16. November 2006 Wie wärs wenn du ein Char[] machst, welches eine Länge besitzt, die innerhalb dieser Schranken ist. Die Länge kannst du dann ja mit deinem frisch gelernten Zufallszahl-Generator ermitteln Wuah *angs* Array mit einer Anzahl x deklarieren: int laenge = .... irgendwas[] y = new irgendwas[laenge] schranken einbauen int anzahl = readInt(..); int min = readInt(..); int max = readInt(..); String[] pwds = new String[anzahl] for(int i=0; i<pwds.length; i++){ } Für die generierung wäre z.B: sowas möglich: - Min. und Max-Länge ermitteln - ne Zahl generieren welche zwischen min-Laenge und max-Laenge ist... int min = 1; int max = 9; int minRange = Math.pow(10, min-1); int maxRange = Math.pow(10, max-1); int zufallszahl = random(minRange, maxRange); Damit hast du dann eine Zahl die Mindestens 'min' Stellen und Maximal 'max' Stellen lang ist. Entweder dir reicht das Passwort als Zahl oder du baust noch nen Algorithmus zum umwandeln ein. Wie du das machst kannst du dir überlegen, gibt viele Möglichkeiten. Z.B. eine Art mapping, also sowas Zahl => Buchstabe 0 => a 1 => b ... Das ist aber recht unsinnig, da max. 10 Kombinationen zu Stande kommen Andere Möglichkeit wäre eine schleife von 0 - zahlenPassword.length. Bei jedem Durchlauf erzeugst du ne Zufallszahl zwischen (char)'a' und (char)'z', A und Z und 0-9. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.