Java :: Aufgabe #72

5 Lösungen Lösungen öffentlich

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.

Lösungen:

vote_ok
von SymTech (1060 Punkte) - 13.02.2015 um 15:07 Uhr
Von "eulerscheZhl" in Java übersetzt.
Quellcode ausblenden 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();
    }
	
}
vote_ok
von Sollder1 (270 Punkte) - 16.03.2016 um 21:29 Uhr
Quellcode ausblenden 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();
		

	}
}









Quellcode ausblenden 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;
		}
	}
}








Quellcode ausblenden 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);
		}
		
	}	
}


vote_ok
von thet1983 (800 Punkte) - 14.10.2016 um 12:06 Uhr
Die Zeichenabfrage hab ich mir gespart, kann ja jeder gerne nachträglich einfügen.
mögliche Ausgabe:
Bitte geben Sie die Länge des Passwortes ein:
32

1. Passwort aus Kleinbuchstaben: snvhwbnubtflblraemtlqwhkuuqlpwtw
2. Passwort aus Grossbuchstaben: JMJMTWLVKNSRWWDIGHZZAFSOHXEAPVWF
3. Passwort aus Zahlen: 93830054787410324587924324808228
4. Passwort aus Sonderzeichen: #)).(++-$"+&#'-"+(!*%)"".%#&*%#+
5. Passwort aus Buchstaben (Gross & Klein): QFUCgdUOGVXcCKpELxOLqzdlldCfbiaL
6. Passwort aus Buchstaben (Gross & Klein & Zahlen): IRpdkiMvrsaGUO65TQwfgQ7qJntOzUt0
7. Passwort aus Gross & Klein & Zahlen & Sonderz.: I"(RH%U9mtq,$B4CQ7F#7,nxpCL"Jv1L
BUILD SUCCESSFUL (total time: 3 seconds)


Quellcode ausblenden Java-Code
package eu.sicusoft.etzelsdorfer.demos;

import java.util.Random;
import java.util.Scanner;

/**
 * 2016 © SiCuSoft<br>
 * Password Creator Class
 * Diese Klasse stellt eine <code>public</code> Methode zur Verfügung <br>{@link getPwdLetter(Auswahl auswahl, int zeichenAnzahl)}<br>die 
 * das gewuenschte Passwort ( Zeichenauswahl und Laenge ) ausgibt!
 * @author Etzelsdorfer Thomas
 * @since 2016-10-14
 * @version 1.1.0 
 * ( Sonderzeichen hinzu gefügt )
 * @version 1.0.0 
 * ( erstellung der klasse ) 
 * 
 */
public class CreatePwd {

    private static final int a = 97, z = 122 + 1;
    private static final int A = 65, Z = 90 + 1;
    private static final int rufZ = 33, backSlash = 46 + 1;
    private static final int z0 = 48, z9 = 57 + 1;
    private Random r;
    
    public enum Auswahl {
        KLEINBUCHSTABEN, GROSSBUCHSTABEN, ZAHLEN, KLEIN_GROSSBUCHSTABEN, BUCHSTABEN_ZAHLEN, BUCHSTABEN_ZAHLEN_SONDERZEICHEN, SONDERZEICHEN
    }

    public static void main(String[] args) {
        CreatePwd pwd = new CreatePwd();
        
        Scanner scan = new Scanner(System.in);
        System.out.println("Bitte geben Sie die Länge des Passwortes ein: ");
        int laenge = scan.nextInt();
        String ausgabe = String.format("\n1. %-50s %-10s \n2. %-50s %-10s \n3. %-50s %-10s \n4. %-50s %-10s \n5. %-50s %-10s \n6. %-50s %-10s \n7. %-50s %-10s",
                "Passwort aus Kleinbuchstaben:", pwd.getPwdLetter(Auswahl.KLEINBUCHSTABEN, laenge),
                "Passwort aus Grossbuchstaben:", pwd.getPwdLetter(Auswahl.GROSSBUCHSTABEN, laenge),
                "Passwort aus Zahlen:", pwd.getPwdLetter(Auswahl.ZAHLEN, laenge),
                "Passwort aus Sonderzeichen:", pwd.getPwdLetter(Auswahl.SONDERZEICHEN, laenge),
                "Passwort aus Buchstaben (Gross & Klein):", pwd.getPwdLetter(Auswahl.KLEIN_GROSSBUCHSTABEN, laenge),
                "Passwort aus Buchstaben (Gross & Klein & Zahlen):", pwd.getPwdLetter(Auswahl.BUCHSTABEN_ZAHLEN, laenge),
                "Passwort aus Gross & Klein & Zahlen & Sonderz.:", pwd.getPwdLetter(Auswahl.BUCHSTABEN_ZAHLEN_SONDERZEICHEN, laenge));

        System.out.println(ausgabe);

    }

    /**
     * Methode gibt das erstellt Pwd bestehend aus Kleinbuchstaben zurük
     *
     * @param zeichenAnzahl, Anzahl der Zeichen
     * @param auswahl Auswahl der Zeichen (enum, Aufruf:
     * <code>Auswahl.KLEINBUCHSTABEN</code>
     * @return pwd
     */
    public String getPwdLetter(Auswahl auswahl, int zeichenAnzahl) {
        StringBuilder sb = new StringBuilder(); // Stringbuilder für die einzelenen zufälligen Charakter
        char[] available1 = null;

        switch (auswahl) {
            case KLEINBUCHSTABEN: // nur kleinbuchstaben
                available1 = aTOz();
                break;
            case GROSSBUCHSTABEN: // nur grossbuchstaben
                available1 = ATOZ();
                break;
            case ZAHLEN: // nur zahlen
                available1 = zahlen();
                break;
            case KLEIN_GROSSBUCHSTABEN: // gross und kleinbuchstaben
                available1 = concat(aTOz(), ATOZ(), null);
                break;
            case SONDERZEICHEN: // nur sonderzeichen
                available1 = soTOso();
                break;
            case BUCHSTABEN_ZAHLEN: // gross, kleinbuchstaben und Zahlen
                available1 = concat(aTOz(), ATOZ(), zahlen());
                break;
            case BUCHSTABEN_ZAHLEN_SONDERZEICHEN: // gross, kleinbuchstaben, zahlen, sonderzeichen
                char[] c = concat(aTOz(), ATOZ(), zahlen());
                char[] c1 = soTOso();
                available1 = concat(c, c1, null);
                break;
        }
        // erstellung des passwortes
        r = new Random();
        int n = 0;
        // erstelle zeichen 
        for (int i = 0; i < zeichenAnzahl; i++) {
            n = r.nextInt(available1.length);
            sb.append(available1[n]);
        }
        // rückgabe erstelltes pwd
        return sb.toString();
    }

    /**
     * Methode verbindet mehrere arrays miteinander
     * @param a1
     * @param a2
     * @param a3
     * @return concated array
     */
    private char[] concat(char[] a1, char[] a2, char[] a3) {
        StringBuilder sb = new StringBuilder((a3 == null) ? a1.length + a2.length : a1.length + a2.length + a3.length);
        if (a3 == null) {
            sb.append(a1);
            sb.append(a2);
        } else {
            sb.append(a1);
            sb.append(a2);
            sb.append(a3);
        }
        return sb.toString().toCharArray();
    }

    // private helper 
    private char[] aTOz() {
        return getAvailableChar(a, z);
    }

    private char[] ATOZ() {
        return getAvailableChar(A, Z);
    }

    private char[] soTOso() {
        return getAvailableChar(rufZ, backSlash);
    }

    private char[] zahlen() {
        return getAvailableChar(z0, z9);
    }

    /**
     * Methode gibt ein char Array zurück die mit Zeichen aus der <br>
     * Ascii Tabelle befüllt wurde.<br>
     *
     * @param startAscii
     * @param endAscii
     * @return Verfügbare Zeichen aus der Ascii Tabelle
     */
    private char[] getAvailableChar(int startAscii, int endAscii) {
        char[] c = new char[endAscii % startAscii];
        for (int i = 0; startAscii < endAscii; i++) {
            c[i] = (char) startAscii;
            startAscii++;
        }
        return c;
    }
}

SiCuSoft,Thomas Etzelsdorfer
vote_ok
von Bufkin (1410 Punkte) - 12.09.2017 um 16:07 Uhr
Quellcode ausblenden Java-Code
import java.util.*;
import java.util.regex.*;

class passwort
{
    
    public static String[] alphabet(String parameter)
    {
        String alpha = "";
        String[] returnArray = new String[2];
        ArrayList<String> numbers = new ArrayList<String>();

        Pattern p = Pattern.compile("\\d+");
        Matcher m = p.matcher(parameter); 
        while (m.find()) {
            numbers.add(m.group());
        }
        returnArray[0] = numbers.get(0);
        
        if(parameter.contains("K") || parameter.contains("k"))
        {
            alpha = alpha.concat("abcdefghijklmnopqrstuvwxyz");
        }
        
        if(parameter.contains("G") || parameter.contains("g"))
        {
            alpha = alpha.concat("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
        }
        
        if(parameter.contains("Z") || parameter.contains("z"))
        {
            alpha = alpha.concat("1234567890");
        }
        
        if(parameter.contains("S") || parameter.contains("s"))
        {
            alpha = alpha.concat("!§$%&?#+*-_");
        }
        
        returnArray[1] = alpha;
        
        return returnArray;
    }
    
    public static void passGen(String[] alphabet) 
    {
        int länge = Integer.parseInt(alphabet[0]);
        String alpha = alphabet[1];
        String passwort = "";
        
        for(int i = 0; i < länge; i++)
        {
            Random random = new Random();
            int index = random.nextInt(alpha.length());
            passwort = passwort.concat(String.valueOf(alpha.charAt(index)));
        }
        
        System.out.println("\nGeneriertes Passwort: " + passwort);
    }
    
    public static void main (String[] args) throws java.lang.Exception
    {
        System.out.print("Bitte geben Sie die folgenden Parameter direkt hintereinander ein (Beispiel: 8KGZS):\n\n1. Länge des Passwortes als Zahl\n2. K für Kleinbuchstaben\n3. G für Großbuchstaben\n4. Z für Zahlen\n5. S für Sonderzeichen\n");
        Scanner reader = new Scanner(System.in);
        String parameter = reader.next(); 
        reader.close();
        passGen(alphabet(parameter));
    }
}
vote_ok
von paddlboot (3970 Punkte) - 10.07.2019 um 15:02 Uhr
Quellcode ausblenden Java-Code
import java.util.*;

public class Passwortgenerator {
	public static void main (String[] args) {
		Scanner scanner = new Scanner(System.in);
		String auswahl = "";
		String passwort = "";
		int counter = 0;
		
		System.out.println("--- Passwortgenerator ---");
		System.out.print("Länge?\t");
		int länge = scanner.nextInt();
		System.out.println("Vorkommende Zeichen:");
		System.out.println("Kleinbuchstaben\ttrue/false?");
		Boolean Klein = scanner.nextBoolean();
		System.out.println("Großbuchstaben\ttrue/false?");
		Boolean Groß = scanner.nextBoolean();
		System.out.println("Zahlen\ttrue/false?");
		Boolean Zahlen = scanner.nextBoolean();
		System.out.println("Sonderzeichen\ttrue/false?");
		Boolean Soz = scanner.nextBoolean();

		if(Klein == true) {
			auswahl += "abcdefghijklmnopqrstuvw";
			counter += 26;
		}
		if(Groß == true) {
			auswahl += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
			counter += 26;
		}
		if(Zahlen == true) {
			auswahl += "0123456789";
			counter += 10;
		}
		if(Soz == true) {
			auswahl += "!?=()/%&$§{}[]<>|,.;:-_+-*#";
			counter += 27;
		}
		
		Random zufall = new Random();
		
		for(int i = 0; i < länge; i++) {
			int z = zufall.nextInt(counter);
			passwort += auswahl.charAt(z);
		}
		
		System.out.println("Passwort:\t" + passwort);
		
		scanner.close();
	}
}
1800854

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.