2

我对 Java 很陌生,所以这对大多数人来说似乎太容易了……这完全错了吗?我的问题是如何编写一个方法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;  
}
4

3 回答 3

5

您可以简单地生成一个不超过数组大小的随机数,并获取该索引处的值。

public static String selectRandom(String[] names) {
    if (name != null && names.length > 0) {
        Random r = new Random();
        return names[r.nextInt(names.length)];
    }
    return null;
}
于 2012-10-05T09:00:18.317 回答
4
public static String selectRandom(String[] names)    
{    
      Random r = new Random();
      int ranNum= r.nextInt(names.length);
      return names[ranNum];

}

您不需要方法中的大部分代码。也许你应该尝试这样的事情?

于 2012-10-05T09:01:15.647 回答
0

随机选择一个索引,返回对应String的 in names。有一个Random类可以在 java 中获取随机数。还要检查nextInt方法。

public static String selectRandom(String[] names)    
{    
   Random rand = new Random();
   int index = rand.nextInt(names.length);
   return names[index];
}
于 2012-10-05T09:03:27.113 回答