2

私は Java に非常に慣れていないので、これはほとんどの人にとって簡単すぎるように思えるかもしれません....これは完全に間違っていますか? selectRandom(String[] names)私の質問は、指定された配列からランダムに選択された名前を返すmethod の書き方です。

各名前は、等しい確率で選択する必要があります。

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

インデックスをランダムに選択し、対応するStringinを返しますnames。Javaで乱数を取得するRandomクラスがあります。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 に答える