如何生成给定语言/语言环境的随机字符串

Sma*_*ion 2 java string random core

我需要生成随机字符串作为输出,输入可以是已安装在系统中的语言名称/语言环境名称.

所有建议表示赞赏.谢谢.

摘自评论

方法签名可以是:

public String getRandomStringOfLocale(Locale locale); 
Run Code Online (Sandbox Code Playgroud)

因此,对于任何语言环境,input=Locale.ENGLISH输出都可以="adsaswzxcvnaj"(随机).

Bor*_*vić 5

这可能听起来很奇怪,但可以解决您的问题.

维基百科中随机获取一篇文章,其中包含您需要随机字符串的语言和字符集.删除所有非字母数字字符和HTML标记.实例化随机整数生成器并使用它从表示文本的字符串中选择字符.

String text = WikipediaGrabber.grab(Locale.FRENCH);
text = removeNonAlphaNumericCharacters(text);
Random r = new Random();
StringBuilder word = new StringBuilder();
for (int i = 0; i < NUMBER_OF_CHARACTERS_PER_RANDOM_STRING; i++)
{
  int index = r.nextInt() * text.length();
  word.append(text.substring(index, index+1);
}
System.out.println("random string in French: " + word.toString());
Run Code Online (Sandbox Code Playgroud)