Closed Julss799 closed 2 years ago
Demanar professors si tots els camps son obligatoris
La selecció de l'usuari definira el password a generar. Si no posa res, fallo.
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);
}
}
Lletres Números Majúscules Minúscules Símbols Longitud