这是给我0的特定等式,它应该给我-0.4(-2/5)
slope2 = ((yVals[i+2] - originY) / (xVals[i+2] - originX));
( - 2 - 0)/(2 + 3)
slope2是双
yVals []是一个int数组
origin是一个int
为什么它会一直返回0?我知道变量被正确调用,因为我在不同的val上做了一个println并且它们是正确的。
答案 0 :(得分:4)
您正在Java中执行整数除法,其中使用int
进行的数学必须产生int
,因此除法会截断小数点以外的任何内容。这意味着在Java中,-2 / 5
为0
。分配的目标是double
是不够的。其中一个操作数必须为double
(或float
)才能强制浮点运算。
将/
运算符的一个操作数强制转换为double
以强制浮点运算。
slope2 = ( (double) (yVals[i+2] - originY) / (xVals[i+2] - originX));