Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从字符串数组中获取随机字符串?_Java_Arrays_Random - Fatal编程技术网

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

Java 如何从字符串数组中获取随机字符串?,java,arrays,random,Java,Arrays,Random,我得到了一个字符串[],我想从中得到一个随机值。我试着用另一种方法来解释这个逻辑。这是到目前为止我的代码 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++) {

我得到了一个
字符串[]
,我想从中得到一个随机值。我试着用另一种方法来解释这个逻辑。这是到目前为止我的代码

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++) {

    }
}
publicstaticvoidmain(字符串[]args){
字符串[]S={“aaa”、“bbb”、“ccc”、“ddd”、“eee”、“ggg”、“hhh”、“iii”、“kkk”};
}
公共字符串get(){
int i;

对于(i=0;i首先,您必须将S数组移动为实例变量或静态变量,因为当前它是main方法的局部变量,无法从
get
方法访问

然后可以通过以下方式获得随机字符串:

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

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

然后可以通过以下方式获得随机字符串:

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

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

您可以从数组
s
中获取随机
char
s:

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);
String randomString=”“;
Random rand=新的Random();

对于(inti=0;i您可以使用
java.util.Random
生成随机的东西。但是,请记住,它不安全,也不是真正的随机

您可以从数组
s
中获取随机
char
s:

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);
String randomString=”“;
Random rand=新的Random();

对于(int i=0;i您不需要get()方法中的循环,您需要在原始数组的长度下生成一个随机数,并返回S[random_number]

编辑


让get方法获取一个字符串[]的参数。

在get()方法中不需要循环。您需要生成一个低于原始数组长度的随机数,并返回S[随机数]

编辑


让get方法接受一个String[]

的参数,谢谢你的建议。但是如果我想让S保持静态变量,那么编写代码是否还有其他方法。@Rslh目前S不是静态变量,它是静态main方法的局部变量。如果你想保留它,可以将它作为参数传递给get()方法。谢谢。我想我需要再次回顾一下这种语言的概念,谢谢你的建议。但是如果我想让S保持静态变量,是否还有其他方法来编写代码。@Rslh目前S不是静态变量,它是静态main方法的局部变量。如果你想保留它,可以将它作为参数传递给get()方法。谢谢。我想我需要再次回顾一下这种语言的概念