30

私は文字列配列を持っています:

String[] fruits = {"Apple","Mango","Peach","Banana","Orange","Grapes","Watermelon","Tomato"};

そして私はこれからランダムな要素を取得しています:

String random = (fruits[new Random().nextInt(fruits.length)]);

今、私はランダムな果物を得るためにボタンを押したときにリンゴが存在する数を取得したいと思います。たとえば、ランドンボタンを押すとバナナが表示されます。また、要素番号は次のようになります。3

要素を取得しましたが、要素番号の取得に問題があるため、手伝ってください

4

1 に答える 1

68

生成されたインデックスを変数に格納し、次の変数を使用して配列にアクセスするだけです。

int idx = new Random().nextInt(fruits.length);
String random = (fruits[idx]);

RandomPS私は通常、ランダム化ごとに新しいオブジェクトを生成するのは好きではありません-私Randomはプログラムでシングルを使用することを好みます-そしてそれを再利用します。後でプログラムにバグが見つかった場合に、問題のあるシーケンスを簡単に再現できます。

このアプローチによると、Random rどこかに変数があり、次のように使用します。

int idx = r.nextInt(fruits.length)

ただし、アプローチも問題ありませんが、後で必要になった場合に特定のシーケンスを再現するのに苦労する可能性があります。

于 2012-11-12T08:44:24.567 に答える