- #1
Cia
- 17
- 0
Homework Statement
Code:
import java.util.Scanner;
import java.util.Random;
public class Passwords
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
Random r = new Random();
System.out.println(" Password Generation Menu ");
System.out.println("******************************************************************");
System.out.println("* [1] Lowercase Letters *");
System.out.println("* [2] Lowercase & Uppercase Letters *");
System.out.println("* [3] Lowercase, Uppercase, and Numbers *");
System.out.println("* [4] Lowercase, Uppercase, Numbers, and Punctuation *");
System.out.println("* [5] Quit *");
System.out.println("******************************************************************");
System.out.println("Enter Selection (1-5): ");
int choice = in.nextInt();
System.out.println("Password Length (1-14): ");
int passwordLength = in.nextInt();
int randNum = 0;
String password = "";
for (int counter = 0; counter < passwordLength; counter++)
{
if (choice ==1)
{
randNum = 97 + r.nextInt (26) ;
while ( !( (randNum>=97) && (randNum<=122) ))
{
randNum = 97 + r.nextInt (26) ; //generate a new random value
//randNum = (int) (Math.random() * (122 - 97 + 1) ) + 97;
}//end while
//concatenate new char to the password since the value is in the desired range
char letter = (char) randNum;
password += letter;
}
else if (choice == 2)
{
randNum = 65 + r.nextInt (58) ;
while (!(randNum>=65) && (randNum<=90) || (randNum>=97) && (randNum<=122))
{
randNum = 65 + r.nextInt (58) ;
//randNum = (int) (Math.random() * (122 - 97 + 1) ) + 97;
}
char letter = (char) randNum;
password += letter;
}
else if (choice ==3)
{
randNum = 48 + r.nextInt (79) ;
while (!(randNum>=65) && (randNum<=90)||(randNum>=97) && (randNum<=122) || (randNum>=48) && (randNum<=57))
{
randNum = 48 + r.nextInt (79);
//randNum = (int) (Math.random() * (122 - 97 + 1) ) + 97;
}
char letter = (char) randNum;
password += letter;
}
else if (choice ==4)
{
randNum = 48 + r.nextInt (78) ;
while( !(randNum>=58) && (randNum<=64)&&(randNum>=48) && (randNum<=67)&&(randNum>=65) && (randNum<=90) &&(randNum>=97) && (randNum<=122))
{
randNum = 48 + r.nextInt (78) ;
//randNum = (int) (Math.random() * (122 - 97 + 1) ) + 97;
}
char letter = (char) randNum;
password += letter;
}
else
{
System.out.print("Good Bye!");
}
}//end of for loop
System.out.println( "" + "" + password );
}//end of main method
}//end of class