Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在x种情况下至少执行n%的功能_Java - Fatal编程技术网

Java 在x种情况下至少执行n%的功能

Java 在x种情况下至少执行n%的功能,java,Java,假设我有一个100的循环,每次我运行它,40%的时间我总是要做函数a,30%的时间我要做函数B,剩下的30%我要做C 到目前为止,我有,这并不能完全解决我的问题,因为总是有可能不履行最低数额的要求 还有什么可以帮我的吗?这些百分比也必须在运行时计算。创建一个包含1到100的列表,将其洗牌,然后使用按顺序绘制的值来确定要执行的函数: List<Integer> list = new ArrayList<>(); for (int i=0; i < 100; ++i)

假设我有一个100的循环,每次我运行它,40%的时间我总是要做函数a,30%的时间我要做函数B,剩下的30%我要做C

到目前为止,我有,这并不能完全解决我的问题,因为总是有可能不履行最低数额的要求


还有什么可以帮我的吗?这些百分比也必须在运行时计算。

创建一个包含1到100的列表,将其洗牌,然后使用按顺序绘制的值来确定要执行的函数:

List<Integer> list = new ArrayList<>();
for (int i=0; i < 100; ++i) {
    list.add(i);
}
long seed = System.nanoTime();
Collections.shuffle(list, new Random(seed));

// now here is your loop
for (int i=0; i < 100; ++i) {
    if (list.get(i) < 40) {
        A();
    }
    else if (list.get(i) < 70) {
        B();
    }
    else {
        C();
    }
}

创建一个包含1到100的列表,将其洗牌,然后使用按顺序绘制的值来确定要执行的函数:

List<Integer> list = new ArrayList<>();
for (int i=0; i < 100; ++i) {
    list.add(i);
}
long seed = System.nanoTime();
Collections.shuffle(list, new Random(seed));

// now here is your loop
for (int i=0; i < 100; ++i) {
    if (list.get(i) < 40) {
        A();
    }
    else if (list.get(i) < 70) {
        B();
    }
    else {
        C();
    }
}

有什么需要的订单吗?@ScaryWombat怎么样?和@TimBiegeleisen,这个顺序被鼓励是随机的。是的-你在做a的地方做一个40的循环,然后在做B的地方做一个30的循环,然后在做C的地方做一个30的循环。这样你就可以保证你做每件事都精确地以正确的百分比进行,并且很清楚你的代码在做什么。所以在100的末尾,你必须有精确的40%,A、B和C的准确30%和准确30%?是否有任何必要的订单?如何@ScaryWombat?和@TimBiegeleisen,这个顺序被鼓励是随机的。是的-你在做a的地方做一个40的循环,然后在做B的地方做一个30的循环,然后在做C的地方做一个30的循环。这样你就可以保证你做每件事都精确地以正确的百分比进行,并且很清楚你的代码在做什么。所以在100的末尾,你必须有精确的40%,A、B和C的30%和30%?