Я пытаюсь кодировать генератор паролей на Java, и я точно знаю, каким образом я хочу добиться этого.У меня проблема в том, что я не уверен, как мне достичь желаемой цели.
Я хочу использовать цикл for для поиска в строке, получения случайного символа и сохранения этого символа в памяти программы.Затем я хочу повторить эту процедуру, пока строка не будет содержать количество символов, указанное пользователем, и распечатать полученную строку в терминал.
Как я могу сделать это простым и понятным способом?
Попытка 1:
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
/**
* Write a description of class PasswordGenerator here.
*
* @author C.G.Stewart
* @version 06/06/18
*/
public class PasswordGenerator
{
private String input;
private int i;
private String newPass;
/**
* Constructor for objects of class Password
*/
public PasswordGenerator()
{
// initialise instance variables
input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
ArrayList<String> Password = new ArrayList<String>();
Scanner pass = new Scanner(System.in);
}
/**
* This method generates a random alphanumeric string to be used as the new
* password
*/
public void generatePassword()
{
Random rnd = new Random();
for(i=1; i<=20; i++)
{
Math.random();
System.out.println(input.charAt(i));
}
//newPass = System.out.println(input.charAt(i));
}
/**
* This method takes the previously generated random alphanumeric string,
* and outputs it to the screen.
*/
public void newPassword()
{
System.out.println(newPass);
}
}
Попытка 2:
import java.util.Scanner;
import java.util.Random;
/**
* Write a description of class Password here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Password
{
// instance variables - replace the example below with your own
private String index;
/**
* Constructor for objects of class Password
*/
public Password()
{
// initialise instance variables
index="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Scanner pass = new Scanner(System.in);
}
//Returns a random alphanumeric string of an inputted length
public void printPassword()
{
for(int i=10; i<=20; i++)
{
while(i<=20)
{
Random rand = new Random();
char letter;
letter = index.charAt(i);
}
System.out.println(i);
}
}
}