使用随机的百分比

joh*_*w85 3 java random

今天我创建了一个生成random数字(0,1,2或3)的函数.
但我希望你有一个感知功能.

我想对生成的数字落到的每个机会应用一个百分比.
示例:0将有60%的机会被绘制,数字1 19%,...

 public void GenerGame(){

        Random r = new Random();
        int game = r.nextInt(max - min +1);

        if (game == 0){
            // do something
        }
        else if (game == 1){
            // do something
        }
        else if (game == 2){
            // do something
        }
        else {
            // do something
        }
 } 
Run Code Online (Sandbox Code Playgroud)

我可以用它来做Random吗?

Sam*_*uri 12

你可以通过重新思考你的RNG来做到这一点.

如果将随机生成范围更改为0-99,则可以将其视为生成的百分比范围,从而规定这些范围内的各种行为.

public void GenerGame(){

    Random r = new Random();
    int game = r.nextInt(100);

    if (game < 60){ // 60%
        // do something
    }
    else if (game < 79){ // 19%
        // do something
    }
    else if (game < 93){ // 14%
        // do something
    }
    else { // 7%
        // do something
    }
} 
Run Code Online (Sandbox Code Playgroud)

您可以通过将范围提高到0-999来将精度更改为十分之一.