Java :: Aufgabe #72 :: Lösung #2
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.
#2
von Sollder1 (270 Punkte)
- 16.03.2016 um 21:29 Uhr
Java-Code
package Passwortgenerator; /** * @author Sollder1 * @since 16.03.2016 * @version 1.0 * @category Main, Passwortgenerator */ public class Main { public static void main(String[] args) { System.out.println("Passwortgenerator 1.00 by Sollder1"); System.out.println(""); Einlesen_ausführen run = new Einlesen_ausführen(); run.Einlesen(); run.Ausführen(); } }
Java-Code
package Passwortgenerator; /** * @author Sollder1 * @since 16.03.2016 * @version 1.0 * @category Generator, Passwortgenerator */ public class Generator { public void k_only(int laenge) { while (laenge>=0) { //int [] nummern = new int[laenge]; char [] buchstaben = new char[laenge]; laenge = laenge -1; int count = laenge; while(count >= 0) { buchstaben[count]= (char) ('a' + 25*Math.random()); //Zufällige Charakter Kleinbuchstaben count--; } while(laenge >=0) { System.out.print(buchstaben [laenge]); laenge--; } } } public void g_only(int laenge) { while (laenge>=0) { //int [] nummern = new int[laenge]; char [] buchstaben = new char[laenge]; laenge = laenge -1; int count = laenge; while(count >= 0) { buchstaben[count]= (char) ('A' + 25*Math.random()); //Zufällige Charakter Großbuchstaben count--; } while(laenge >=0) { System.out.print(buchstaben [laenge]); laenge--; } } } public void z_only(int laenge) { int [] nummern = new int[laenge]; laenge = laenge -1; int count = laenge; while(count >= 0) { nummern[count]=(int) (Math.random()*10); count--; } while(laenge >=0) { System.out.print(nummern [laenge]); laenge--; } } public void sz_only (int laenge) { String [] sz_Zeichen = new String[laenge]; laenge = laenge -1; int count = laenge; while(count >= 0) { int x = (int) (Math.random()*5); if (x == 0 ) { sz_Zeichen[count] = "*"; } if (x == 1 ) { sz_Zeichen[count] = ":"; } if (x == 2 ) { sz_Zeichen[count] = "="; } if (x == 3 ) { sz_Zeichen[count] = "#"; } if (x == 4 ) { sz_Zeichen[count] = "'"; } if (x == 5 ) { sz_Zeichen[count] = ";"; } count--; } while(laenge >=0) { System.out.print(sz_Zeichen [laenge]); laenge--; } } public void k_g(int laenge) { char [] buchstaben = new char[laenge];; int zo = laenge-1; int k_buch = (int) (Math.random()*zo + 1); int g_buch = laenge - k_buch; int tausch = (int) (Math.random()*1); if(tausch == 0) { k_only(k_buch); g_only(g_buch); } if(tausch == 1) { g_only(g_buch); k_only(k_buch); } } public void k_z(int laenge) { int zo = laenge-1; int z_num = (int) (Math.random()*zo + 1); int k_buch = laenge - z_num; int tausch = (int) (Math.random()*1); if(tausch == 0) { k_only(k_buch); z_only(z_num); } if(tausch == 1) { z_only(z_num); k_only(k_buch); } } public void k_sz(int laenge) { int zo = laenge-1; int sz_son = (int) (Math.random()*zo + 1); int k_buch = laenge - sz_son; int tausch = (int) (Math.random()*1); if(tausch == 0) { k_only(k_buch); sz_only(sz_son); } if(tausch == 1) { sz_only(sz_son); k_only(k_buch); } } public void g_z(int laenge) { int zo = laenge-1; int g_buch = (int) (Math.random()*zo + 1); int z_num = laenge - g_buch; int tausch = (int) (Math.random()*1); if(tausch == 0) { g_only(g_buch); z_only(z_num); } if(tausch == 1) { z_only(z_num); g_only(g_buch); } } public void z_sz(int laenge) { int zo = laenge-1; int sz_son = (int) (Math.random()*zo + 1); int z_num = laenge - sz_son; int tausch = (int) (Math.random()*1); if(tausch == 0) { sz_only(sz_son); z_only(z_num); } if(tausch == 1) { z_only(z_num); sz_only(sz_son); } } public void g_sz(int laenge) { int zo = laenge-1; int sz_son = (int) (Math.random()*zo + 1); int g_buch = laenge - sz_son; int tausch = (int) (Math.random()*1); if(tausch == 0) { sz_only(sz_son); g_only(g_buch); } if(tausch == 1) { g_only(g_buch); sz_only(sz_son); } } public void k_g_z(int laenge) { while(laenge > 0) { int what = (int) ((Math.random()*3)+1);; if(what == 1) { k_only(1); } if(what == 2) { g_only(1); } if(what == 3) { z_only(1); } laenge --; } } public void k_g_z_sz(int laenge) { while(laenge > 0) { int what = (int) ((Math.random()*4)+1); if(what == 1) { sz_only(1); } if(what == 2) { k_only(1); } if(what == 3) { g_only(1); } if(what == 4) { z_only(1); } laenge --; what = 0; } } public void sz_g_z(int laenge) { while(laenge > 0) { int what = (int) ((Math.random()*3)+1); if(what == 1) { sz_only(1); } if(what == 2) { g_only(1); } if(what == 3) { z_only(1); } laenge --; what = 0; } } public void k_g_sz(int laenge) { while(laenge > 0) { int what = (int) ((Math.random()*3)+1); if(what == 1) { sz_only(1); } if(what == 2) { k_only(1); } if(what == 3) { g_only(1); } laenge --; what = 0; } } public void k_sz_z(int laenge) { while(laenge > 0) { int what = (int) ((Math.random()*3)+1); if(what == 1) { sz_only(1); } if(what == 2) { k_only(1); } if(what == 3) { z_only(1); } laenge --; what = 0; } } }
Java-Code
package Passwortgenerator; import java.util.Scanner; /** * @author Sollder1 * @since 16.03.2016 * @version 1.0 * @category Engabe_Ausführung, Passwortgenerator */ public class Einlesen_ausführen { int laenge; boolean Kleinbuchstaben; boolean Großbuchstaben; boolean Zahlen; boolean Sonderzeichen; public void Einlesen (){ Scanner in = new Scanner(System.in); System.out.print("Laenge des Passwortes: "); laenge = in.nextInt(); if(laenge == 0) { System.out.println("Error 1: Mindestanzahl ist 1"); System.out.print("Laenge des Passwortes: "); laenge = in.nextInt(); } System.out.print("Sollen Kleinbuchstaben enthalten sein? [true/false] "); Kleinbuchstaben = in.nextBoolean(); System.out.print("Sollen Großbuchstaben enthalten sein? [true/false] "); Großbuchstaben = in.nextBoolean(); System.out.print("Sollen Zahlen enthalten sein? [true/false] "); Zahlen = in.nextBoolean(); System.out.print("Sollen Sonderzeichen enthalten sein? [true/false] "); Sonderzeichen = in.nextBoolean(); } public void Ausführen() { Generator gen = new Generator(); //----------------------------mit keiner eingabe if (Kleinbuchstaben == false && Großbuchstaben == false && Zahlen == false && Sonderzeichen == false) { System.out.println("Error 2: Es müssen Generationsvorschriften gemacht werden."); } //-------------------------mit einer Eingabe if (Kleinbuchstaben == true && Großbuchstaben == false && Zahlen == false && Sonderzeichen == false) { gen.k_only(laenge); } if (Kleinbuchstaben == false && Großbuchstaben == false && Zahlen == true && Sonderzeichen == false) { gen.z_only(laenge); } if (Kleinbuchstaben == false && Großbuchstaben == true && Zahlen == false && Sonderzeichen == false) { gen.g_only(laenge); } if (Kleinbuchstaben == false && Großbuchstaben == false && Zahlen == false && Sonderzeichen == true) { gen.sz_only(laenge); } //---------------------------------mit zwei Eingaben if (Kleinbuchstaben == true && Großbuchstaben == true && Zahlen == false && Sonderzeichen == false) { gen.k_g(laenge); } if(Kleinbuchstaben == true && Großbuchstaben == false && Zahlen == true && Sonderzeichen == false) { gen.k_z(laenge); } if(Kleinbuchstaben == true && Großbuchstaben == false && Zahlen == false && Sonderzeichen == true) { gen.k_sz(laenge); } if(Kleinbuchstaben == false && Großbuchstaben == true && Zahlen == true && Sonderzeichen == false) { gen.g_z(laenge); } if(Kleinbuchstaben == false && Großbuchstaben == true && Zahlen == false && Sonderzeichen == true) { gen.g_sz(laenge); } if(Kleinbuchstaben == false && Großbuchstaben == false && Zahlen == true && Sonderzeichen == true) { gen.z_sz(laenge); } //-----------------------------------mit 3 Angaben if (Kleinbuchstaben == true && Großbuchstaben == true && Zahlen == true && Sonderzeichen == false) { gen.k_g_z(laenge); } if (Kleinbuchstaben == false && Großbuchstaben == true && Zahlen == true && Sonderzeichen == true) { gen.sz_g_z(laenge); } if (Kleinbuchstaben == true && Großbuchstaben == false && Zahlen == true && Sonderzeichen == true) { gen.k_sz_z(laenge); } if (Kleinbuchstaben == true && Großbuchstaben == true && Zahlen == false && Sonderzeichen == true) { gen.k_g_sz(laenge); } //-------------------------------------mit 4 Angaben if (Kleinbuchstaben == true && Großbuchstaben == true && Zahlen == true && Sonderzeichen == true) { gen.k_g_z_sz(laenge); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1