不同赌博策略的数据模拟代码
/**
*
* Copyright (c) 2016-2018 All Right Reserved.
*/
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.RandomUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Scanner;
/**
* @author guohuaquan
* @version Test.java, v 0.1 2018年10月23日
*/
public class Test {
public static void main(String[] args){
long trueCount = 0;
long falseCount = 0;
long balanceA = 0;
long maxBalanceA = 0;
long minBalanceA = 0;
long valueA = 1;
long maxValueA = 0;
long balanceB = 0;
long maxBalanceB = 0;
long minBalanceB = 0;
long valueB = 1;
long maxValueB = 0;
long maxValue = 1000000000;
//long maxValue = 10;
for(long i = 1; i <=100000; ++i){
long randNum = System.currentTimeMillis() + RandomUtils.nextLong();
if(valueA > maxValue){
valueA = maxValue;
}
if(valueB > maxValue){
valueB = maxValue;
}
if(valueA > maxValueA){
maxValueA = valueA;
}
if(valueB > maxValueB){
maxValueB = valueB;
}
if(randNum % 2 < 1){
balanceA -= valueA;
if(balanceA < minBalanceA) {
minBalanceA = balanceA;
}
valueA *= 2;
balanceB -= valueB;
if(balanceB < minBalanceB) {
minBalanceB = balanceB;
}
valueB = 1;
++falseCount;
} else {
balanceA += valueA;
if(balanceA > maxBalanceA) {
maxBalanceA = balanceA;
}
if(balanceA < minBalanceA) {
minBalanceA = balanceA;
}
valueA = 1;
balanceB += valueB;
if(balanceB > maxBalanceB) {
maxBalanceB = balanceB;