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
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();
}
}
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;
}
}
}
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
