赌博

package com.bill99.rm.bridge.util;

import java.math.BigDecimal;
import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;
import java.util.Map.Entry;

public class TestSort {
	public static void main(String[] args) {
		Dog dog = new Dog();
		
		double win = 1.42;
		double equal= 3.55;
		double fail = 5.75;
		//返还率
		double totalq = win*fail*equal/(win*equal+equal*fail+win*fail);
		//概率计算
		double win_pre = totalq/win;
		double equal_pre = totalq/equal;
		double fail_pre= totalq/fail;
		int win_n;
		int fail_n;
		int equal_n;
		double totalWin;
		Map<Object, Dog> WINmap = new TreeMap(dog);
		for (win_n = 0;win_n<10;win_n++){
			for (fail_n=0;fail_n<10;fail_n++){
				for (equal_n=0;equal_n<10;equal_n++){
					totalWin = win_n*win*win_pre+equal*equal_n*equal_pre+fail*fail_n*fail_pre;
					Dog winObj = new Dog();
					winObj.setWin_n(win_n);
					winObj.setEqual_n(equal_n);
					winObj.setFail_n(fail_n);
					winObj.setTotalWin(totalWin);
					int toatal_n = win_n+equal_n+fail_n;
					double maxWin =  totalWin/toatal_n;
					String id = win_n+""+equal_n+""+fail_n;
					winObj.setMaxWin(maxWin);
					winObj.setToatal_n(toatal_n);
					if(toatal_n>10&&toatal_n<20){
						WINmap.put(winObj, winObj);
					}
				}
				System.out.println(WINmap.size());
			}
			System.out.println(WINmap.size());
		}
		System.out.println(WINmap.size());
		for (Entry<Object, Dog> entry : WINmap.entrySet()) {
			dog = (Dog) entry.getValue();
			System.out.println("压胜注数:"+dog.getWin_n()+"压平注数:"+dog.getEqual_n()+"压败注数:"+dog.getFail_n()+"概率赢金额:"+dog.getTotalWin()+"/n总投入"+dog.getToatal_n()+"赢/投入比"+dog.getMaxWin());
		}
	}
}

/**
 * 
 * 必须实现“Comparator”接口
 * 
 * 以age属性进行排序(当然也可以根据多个属性组合排序,此处不再演示)
 * 
 */
class Dog implements Comparator<Dog> {
	private int win_n;
	private int fail_n;
	private int equal_n;
	private double totalWin;
	private int toatal_n ;
	private double maxWin;
	private int id ;
	public Dog() {

	}

	public Dog(int win_n, int fail_n, int equal_n, double totalWin, int toatal_n, double maxWin, int id) {
		super();
		this.win_n = win_n;
		this.fail_n = fail_n;
		this.equal_n = equal_n;
		this.totalWin = totalWin;
		this.toatal_n = toatal_n;
		this.maxWin = maxWin;
		this.id = id;
	}








	public int compare(Dog o1, Dog o2) {
		if (o1.maxWin < o2.maxWin&&o1.getToatal_n()<o2.toatal_n) {
			return -1;
		} else if (o1.maxWin == o2.maxWin&&o1.getToatal_n()>o2.toatal_n) {
			return 0;
		} else
			return 1;
	}

	public int getWin_n() {
		return win_n;
	}

	public void setWin_n(int win_n) {
		this.win_n = win_n;
	}

	public int getFail_n() {
		return fail_n;
	}

	public void setFail_n(int fail_n) {
		this.fail_n = fail_n;
	}

	public int getEqual_n() {
		return equal_n;
	}

	public void setEqual_n(int equal_n) {
		this.equal_n = equal_n;
	}



	public double getTotalWin() {
		return totalWin;
	}

	public void setTotalWin(double totalWin) {
		this.totalWin = totalWin;
	}

	public int getToatal_n() {
		return toatal_n;
	}

	public void setToatal_n(int toatal_n) {
		this.toatal_n = toatal_n;
	}

	public double getMaxWin() {
		return maxWin;
	}

	public void setMaxWin(double maxWin) {
		this.maxWin = maxWin;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

}

 

转载于:https://my.oschina.net/fangMuboy/blog/1836487

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值