Java :: Aufgabe #72 :: Lösung #1
5 Lösungen

#72
Passwortgenerator mit Parametern
Anfänger - Java
von pocki
- 27.11.2014 um 18:11 Uhr
Erstelle ein Programm/Funktion welche/s ein zufälliges Passwort erzeugt.
Als Parameter soll die Länge sowie die Art der darin vorkommenden Zeichen übergeben werden können.
Zur Auswahl sollen stehen: Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen.
Jede beliebige Kombination der Parameter soll möglich sein.
Als Parameter soll die Länge sowie die Art der darin vorkommenden Zeichen übergeben werden können.
Zur Auswahl sollen stehen: Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen.
Jede beliebige Kombination der Parameter soll möglich sein.
#1

von SymTech (1060 Punkte)
- 13.02.2015 um 15:07 Uhr
Von "eulerscheZhl" in Java übersetzt.
Java-Code

import java.util.Random; import java.util.Scanner; public class main { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Länge des Passworts: "); int length = Integer.parseInt(in.next()) ; System.out.print("Großbuchstaben verwenden (j/n): "); boolean upperCase = in.next().equals("j"); System. out.print("Kleinbuchstaben verwenden (j/n): "); boolean lowerCase = in.next().equals("j"); System.out.print("Ziffern verwenden (j/n): "); boolean digits = in.next() == "j"; System.out.print("Sonderzeichen verwenden (j/n): "); boolean specialChars = in.next().equals("j"); System.out.println(createPassword (lowerCase, upperCase, digits, specialChars, length)); } private static String createPassword(boolean lowerCase, boolean upperCase, boolean digits, boolean specialChar, int length) { String alphabet = ""; if (lowerCase) alphabet += "abcdefghijklmnopqrstuvwxyz"; if (upperCase) alphabet += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; if (digits) alphabet += "0123456789"; if (specialChar) alphabet += "^!\"§$%&/()=?²³{[]}\\`´+*~#',.-;:_<>|"; if (alphabet.length() == 0) return "error"; StringBuilder result = new StringBuilder (); Random r = new Random (); while (result.length() < length) result.append(alphabet.charAt(r.nextInt(alphabet.length()))); return result.toString(); } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1