Когда вы вызываете Math.Random (), он возвращает новое значение между 0 и 1. Поэтому возможно, что первое math.random()
вернет больше 0,13, а следующее - другое число больше 0,37, следующее math.random () значение больше, чем 0,24, а следующее другое другое значение, которое может быть больше, чем 0,26 ...
Если вы изменили оператор if else просто на операторы if, это возможноэто может вывести более одного ответа!Это явно не то, что вы хотите.
Вам нужен только один результат, верно?С вероятностью 13%, 37%, 24% и 26% это мое предположение.Ваша логика кода немного не в порядке.Следуя структуре вашего кода, вам нужно определить одну переменную, которую вы проверяете четыре раза, например double rndDecimal = math.random()
, затем проверьте, если rndDecimal > 0 && rndDecimal < 0.13 for the first boolean
, или для второй она будет между 0,13 и 0,5 (0,13 + 0,37), а затем между 0,5 и 0,74следующие 0,74 и 1!Это всегда даст вам результат