繁体   English   中英

如何从字符串数组中获取随机字符串?

[英]How to get a random string from an array of strings?

我有一个String[] ,我想从中获得一个随机值。 我尝试将该逻辑放在另一种方法中。 到目前为止,这是我的代码。

public static void main(String[]args) {
   String [] S = {"aaa", "bbb", "ccc", "ddd", "eee","ggg", "hhh", "iii", "kkk"};
}

public String get () {
    int i;

    for(i = 0; i <= 4; i++) {

    }
}

我需要使用方法get()从数组S取出随机字符串,但我真的不知道该怎么做。

首先,您必须将S数组移动为实例变量或静态变量,因为当前它在您的main方法中是本地的,并且无法从get方法中访问。

然后,您可以通过以下方式获取随机String:

private Random rnd = new Random();
public String get ()
{
   return S[rnd.nextInt(S.length)];
}

您可以使用java.util.Random生成随机的东西。 但是,请记住,它不是安全的,不是真正随机的。

您可以从数组S获取随机char

String randomString = ""; 
Random rand = new Random();
for(int i=0;i<=4;i++)
{
    randomString += S[rand.nextInt(S.length())].charAt(0);
}

System.out.println(randomString);

您不需要在get()方法中循环,您需要在原始数组的长度以下生成一个随机数,然后说return S [RANDOM_NUMBER]

编辑

让get方法采用String []的参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM