Julss799 / PROJECTE1-DAM2

Projecte 1: Entrega 05/12/2022 - 07/12/2022
1 stars 0 forks source link

Fer el camp de PASSWORD #11

Closed Julss799 closed 2 years ago

Julss799 commented 2 years ago

Lletres Números Majúscules Minúscules Símbols Longitud

eliasporter commented 2 years ago

Demanar professors si tots els camps son obligatoris

eliasporter commented 2 years ago

La selecció de l'usuari definira el password a generar. Si no posa res, fallo.

Julss799 commented 2 years ago

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

public class PASSWORD {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner teclat = new Scanner(System.in);
    Random bombo=new Random();

    int lletres, numeros, majus, minus, simbols, longitud, num, posicio=0,i=0, majMin=3;
    String passw=""; //Declarem la variable on anirà la nostra password
    char lletra=' '; //Declarem una variable per agafar una lletra quan ens la demanin
    char sim[]= {'~','@','#','_','^','*','%','/','.','+',':',';','='}; //Declarem un array per als simbols que es permeten a les contrassenyes

    System.out.println("Vols que contingui lletres? 1-Si 0-No");
    lletres=teclat.nextInt();

    System.out.println("Vols que contingui numeros? 1-Si 0-No");
    numeros=teclat.nextInt();

    System.out.println("Vols que contingui majuscules? 1-Si 0-No");
    majus=teclat.nextInt();

    System.out.println("Vols que contingui minuscules? 1-Si 0-No");
    minus=teclat.nextInt();

    System.out.println("Vols que contingui simbols? 1-Si 0-No");
    simbols=teclat.nextInt();

    System.out.println("Vols que contingui longitud? 1-Si 0-No");
    longitud=teclat.nextInt();

    while(i<longitud) //Farem un bucle per a controlar la llargada de la contrassenya
    {
        if(lletres==1) //Si hi ha lletres comprovarem si ha indicat majuscules o minuscules
        {
            if (minus==0 && majus==0) //Si no ha indicat cap de les dues, utilitzarem la variable majMin per a fer un aleatori y que agafi qualsevol de les dues
            {
                majMin=bombo.nextInt(2)+1;
            }
            if(majus==1 || majMin==1)
            {
                lletra=(char)(bombo.nextInt(26)+'A');
                passw=passw+lletra;
                i++;
            }
            if(minus==1 || majMin==2)
            {
                lletra=(char)(bombo.nextInt(26)+'a');
                passw=passw+lletra;
                i++;
            }

        }
        else if(lletres==0 && (majus==1 || minus==1)) //Si indica majuscules o minuscules pero no lletres serà un error
        {
            System.out.println("ERROR");
        }
        if (numeros==1) //farem un random per els numeros
        {
            num=bombo.nextInt(10); //El 10 no estarà inclos
            passw=passw+num;
            i++;
        }
        if (simbols==1)
        {
            posicio=bombo.nextInt(13);
            passw=passw+sim[posicio]; //Agafarem una posició aleatoria del array per agafar un simbol aleatori
            i++;
        }   
    }

    System.out.println(passw);
}

}