如何返回随机字符串arrayjava
我对Java非常陌生,所以这对大多数人来说似乎太容易了……这完全错了吗? 我的问题是如何编写一个方法如何返回随机字符串arrayjava,java,Java,我对Java非常陌生,所以这对大多数人来说似乎太容易了……这完全错了吗? 我的问题是如何编写一个方法selectRandom(String[]names), 它返回从给定数组中随机选择的名称 应以相同的概率选择每个名称 public static String selectRandom(String[] names) { String num = names[0]; int[]newArray = new int[names.length]; for(i
selectRandom(String[]names)
,
它返回从给定数组中随机选择的名称
应以相同的概率选择每个名称
public static String selectRandom(String[] names)
{
String num = names[0];
int[]newArray = new int[names.length];
for(int i =0; i<names.length;i++)
{
Random r = new Random();
int ranNum= r.nextInt(names.length)+1;
num = names[ranNum];
}
return num;
}
公共静态字符串selectRandom(字符串[]名称)
{
String num=名称[0];
int[]newArray=newint[names.length];
对于(inti=0;i,您只需生成一个数组大小的随机数,并获取该索引处的值
public static String selectRandom(String[] names) {
if (name != null && names.length > 0) {
Random r = new Random();
return names[r.nextInt(names.length)];
}
return null;
}
您不需要方法中的大多数代码。也许您应该尝试类似的方法?随机选择一个索引,并在名称中返回相应的字符串。java中有一个类可以获取随机数。还可以检查方法
你不需要在那里有一个循环。只要选择随机索引并返回相应的字符串。步骤:随机选择一个小于数组长度的数字,返回数组元素?你能将其转换为代码吗?我认为这里的主要问题不是如何获得随机数。因为OP提到每个名称都应该用相等的p来选择概率。我认为他需要一个统一的随机函数。我不认为java核心库中的随机函数是统一的。@Kentint java.util.random.nextInt(int n):返回一个新的伪随机整数值,该整数值均匀分布在0(包括)和n(独占)之间
@pankar再次检查了文档。返回一个伪随机的、均匀分布的int值,介于0(包括)和指定值(不包括)之间…u r right.thx。我想我有点与real random混淆了…如果(names.length>0),你也应该添加空检查
它可能会填充空指针异常。@Vulcan您能告诉我如何从数组中选择一个随机字符串值,并且每次都需要其他字符串。我的意思是如果我不想重复相同的字符串值,我需要在代码中做什么修改。@Kunu创建另一个字符串数组(或布尔值)并记录您已经随机选取的字符串。@Vulcan我也在考虑这个问题,但我认为先询问其他人是明智的,这样如果随机函数中存在任何直接方法,我就可以轻松地完成。谢谢您的回答。它也可能生成NullPointerException。@Russell Gutierrez您能告诉我如何选择吗从一个数组中随机抽取一个字符串值,并且每次我都需要一些其他字符串。我的意思是,如果我不想重复相同的字符串值,我需要在代码中做什么修改。
public static String selectRandom(String[] names)
{
Random r = new Random();
int ranNum= r.nextInt(names.length);
return names[ranNum];
}
public static String selectRandom(String[] names)
{
Random rand = new Random();
int index = rand.nextInt(names.length);
return names[index];
}