Это генератор паролей, который я создал с нуля, но я хочу добавить конструктор, чтобы я мог использовать его для целей вызова, а также создать другой класс для его вызова.Если возможно, я хотел бы получить помощь по этой программе.Поэтому моя программа в основном объясняет, как генерировать символы случайных чисел, прописные и строчные буквы.В первый раз, когда я создал код генератора паролей, он работал не очень хорошо, потому что он давал мне все прописные или иногда строчные буквы или просто символы без каких-либо других переменных. Затем я сделал этот код, где я сказал программе, что если этой переменной нетон не может создавать другие переменные, пока эти переменные не будут показаны.
import java.util.Scanner;
class Passwd {
public Passwd()
{
System.out.println("Hello");
}
public static void main(String[] args) {
new Passwd();
Scanner in;`enter code here`
in = new Scanner(System.in);
int choice = 0;
while (choice != 5) {
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 Symbols *");
System.out.println("* [5] Quit *");
System.out.println("********************************************************");
System.out.println("Enter Selection (1-5): ");
choice = in.nextInt();
if (choice < 1 || choice > 5)
System.out.println("Incorrect option.... ");
else if (choice > 0 && choice < 5) {
System.out.println("Password Length (1-14): ");
int passwordLength = in.nextInt();
char[] password = new char[passwordLength];
int randNum = 0;
if (choice == 1) {
for (int i = 0; i < passwordLength; i++) {
randNum = ((int) (Math.random() * 26 + 97));
while (randNum < 97 || randNum > 122) {
randNum = ((int) (Math.random() * 26 + 97));
}
password[i] = (char) randNum;
}
}
if (choice == 2) {
randNum = ((int) (Math.random() * 26 + 97));
while (randNum < 97 || randNum > 122) {
randNum = ((int) (Math.random() * 26 + 97));
}
password[0] = (char) randNum;
randNum = ((int) (Math.random() * 26 + 65));
while (randNum < 65 || randNum > 90) {
randNum = ((int) (Math.random() * 26 + 65));
}
password[1] = (char) randNum;
for (int i = 2; i < passwordLength; i++) {
randNum = ((int) (Math.random() * 122 - 65 + 1)) + 65;
while ((randNum < 65 || randNum > 90) && (randNum < 97 || randNum > 122)) {
randNum = ((int) (Math.random() * 122 - 65 + 1)) + 65;
}
password[i] = (char) randNum;
}
}
if (choice == 3) {
randNum = ((int) (Math.random() * 26 + 97));
while (randNum < 97 || randNum > 122) {
randNum = ((int) (Math.random() * 26 + 97));
}
password[0] = (char) randNum;
randNum = ((int) (Math.random() * 26 + 65));
while (randNum < 65 || randNum > 90) {
randNum = ((int) (Math.random() * 26 + 65));
}
password[1] = (char) randNum;
randNum = ((int) (Math.random() * 26 + 48));
while (randNum < 48 || randNum > 57) {
randNum = ((int) (Math.random() * 26 + 48));
}
password[2] = (char) randNum;
for (int i = 3; i < passwordLength; i++) {
randNum = ((int) (Math.random() * 122 - 48 + 1)) + 48;
while ((randNum < 65 || randNum > 90) && (randNum < 97 || randNum > 122) && (randNum < 48 || randNum > 57)) {
randNum = ((int) (Math.random() * 122 - 48 + 1)) + 48;
}
password[i] = (char) randNum;
}
}
if (choice == 4) {
randNum = ((int) (Math.random() * 26 + 97));
while (randNum < 97 || randNum > 122) {
randNum = ((int) (Math.random() * 26 + 97));
}
password[0] = (char) randNum;
randNum = ((int) (Math.random() * 26 + 65));
while (randNum < 65 || randNum > 90) {
randNum = ((int) (Math.random() * 26 + 65));
}
password[1] = (char) randNum;
randNum = ((int) (Math.random() * 10 + 48));
while (randNum < 48 || randNum > 57) {
randNum = ((int) (Math.random() * 10 + 48));
}
password[2] = (char) randNum;
randNum = ((int) (Math.random() * 7 + 33));
while (randNum < 33 || randNum > 39) {
randNum = ((int) (Math.random() * 7 + 33));
}
password[3] = (char) randNum;
for (int i = 4; i < passwordLength; i++) {
randNum = ((int) (Math.random() * 122 - 33 + 1)) + 33;
while ((randNum < 65 || randNum > 90) && (randNum < 97 || randNum > 122) && (randNum < 48 || randNum > 57) && (randNum < 33 || randNum > 39)) {
randNum = ((int) (Math.random() * 122 - 33 + 1)) + 33;
}
password[i] = (char) randNum;
}
}
for (int j = 0; j < passwordLength; j++)
System.out.print(password[j]);
System.out.println("\n");
}
}
System.out.println("Thank You for using World's Best Password generator \n");
}
}