尝试在这里做一些非常基础的数学运算,但我对 Java 的缺乏理解给我带来了一些问题。
double[][] handProbability = new double[][] {{0,0,0},{0,0,0},{0,0,0}};
double[] handProbabilityTotal = new double[] {0,0,0};
double positivePot = 0;
double negativePot = 0;
int localAhead = 0;
int localTied = 1;
int localBehind = 2;
//do some stuff that adds values to handProbability and handProbabilityTotal<p></p>
<p>positivePot =
(handProbability[localBehind][localAhead] +
(handProbability[localBehind][localTied] / 2.0) +
(handProbability[localTied][localAhead] / 2.0) ) /
(handProbabilityTotal[localBehind] + (handProbability[localTied] / 2.0));</p>
<p>negativePot =
(handProbability[localAhead][localBehind] +
(handProbability[localAhead][localTied] / 2.0) +
(handProbability[localTied][localBehind] / 2.0) ) /
(handProbabilityTotal[localAhead] + (handProbabilityTotal[localTied] / 2.0));
</p>
最后两行给我带来了问题(很抱歉它们太长了)。 编译器错误:
src/MyPokerClient/MyPokerClient.java:180: operator / cannot be applied to double[],double
positivePot = ( handProbability[localBehind][localAhead] + (handProbability[localBehind][localTied] / 2.0) + (handProbability[localTied][localAhead] / 2.0) ) / (handProbabilityTotal[localBehind] + (handProbability[localTied] / 2.0) );
^
src/MyPokerClient/MyPokerClient.java:180: operator + cannot be applied to double,
positivePot = ( handProbability[localBehind][localAhead] + (handProbability[localBehind][localTied] / 2.0) + (handProbability[localTied][localAhead] / 2.0) ) / (handProbabilityTotal[localBehind] + (handProbability[localTied] / 2.0) );
^
src/MyPokerClient/MyPokerClient.java:180: operator / cannot be applied to double,
positivePot = ( handProbability[localBehind][localAhead] + (handProbability[localBehind][localTied] / 2.0) + (handProbability[localTied][localAhead] / 2.0) ) / (handProbabilityTotal[localBehind] + (handProbability[localTied] / 2.0) );
不太确定是什么问题。基础数学应该不需要什么特别的东西,对吧?
最佳答案
最后一行之前的一行有问题。
positivePot =
(handProbability[localBehind][localAhead] +
(handProbability[localBehind][localTied] / 2.0) +
(handProbability[localTied][localAhead] / 2.0) ) /
(handProbabilityTotal[localBehind] + (handProbability[localTied] / 2.0));
handProbability 是一个二维 double 组。所以 handProbability[localTied] 是一个 double 组。它不是双重值(value)。根据你的最后一行,我认为它应该是 handProbabilityTotal[localTied]。
关于Java新手不会做简单的数学运算,运算符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824636/