ユーザー入力 % に基づいて乱数を生成するのを手伝ってください。
たとえば、入力が 60、10、および 30 の場合、出力は次のようになります。
0 ~ 70 の範囲の乱数の 60% 70 ~ 80 の範囲
の乱数の 10%
80 の範囲を超える乱数の 30%
マルチレンジジェネレーターを使用する必要がありますか?
またはすべての可能性は何ですか?
コードは次のとおりです。
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
class RandomInRanges
{
private final List<Integer> range = new ArrayList();
RandomInRanges(int min, int max)
{
this.addRange(min, max);
}
final void addRange(int min, int max)
{
for(int i = min; i <= max; i++)
{
this.range.add(i);
}
}
int getRandom()
{
return this.range.get(new Random().nextInt(this.range.size()));
}
public static void main(String[] args)
{
RandomInRanges rir = new RandomInRanges(1, 200);
rir.addRange(50, 60);
System.out.println(rir.getRandom());
}
}