Как создать рандомную строку в java?

Пользователь

от sherwood_littel , в категории: Java , 3 года назад

Как создать рандомную строку в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 3 года назад

@sherwood_littel Как вариант используйте StringBuilder и цикл чтобы создать рандомную строку в Java, ниже пример кода как пример:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import java.security.SecureRandom;

public class Main {
    public static void main(String args[]) {
        // Символы строки
        String alpha = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        // Длина строка
        int len = 5;
        StringBuilder sb = new StringBuilder(len);
        SecureRandom rnd = new SecureRandom();

        for (int i = 0; i < len; i++) {
            sb.append(alpha.charAt(rnd.nextInt(alpha.length())));
        }
        // Вывод: 5ezs1
        System.out.println(sb.toString());
    }
}


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от eudora , 2 года назад

@sherwood_littel 

Для создания рандомной строки в Java можно использовать классы java.util.Random и java.lang.StringBuilder, а также символьный массив, содержащий нужный набор символов. Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.Random;

public class RandomString {

  public static void main(String[] args) {

    String availableChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    // символы, которые могут входить в строку

    int length = 10; // длина строки

    StringBuilder sb = new StringBuilder();
    Random random = new Random();

    for (int i = 0; i < length; i++) {
      int index = random.nextInt(availableChars.length());
      char randomChar = availableChars.charAt(index);
      sb.append(randomChar);
    }

    String randomString = sb.toString();
    System.out.println("Рандомная строка: " + randomString);

  }

}


Этот код создаст и выведет на экран рандомную строку из 10 символов, выбранных из заданного набора.