我发现线路有问题:
int xPos = ((x / maxX) * X_AXIS_LENGTH) + X_AXIS_OFFSET; =
出于测试目的,我分配了:
int x = 10;
int maxX = 52;
但是在计算中使用x/maxX
时,我得到的是0
而不是0.19
!
最佳答案
您在这里进行整数除法:
x / maxX
整数除法会截去小数部分。
将参数之一转换为浮点来修复它:
(double)x / maxX
您可能还想将整个内容存储到 double
而不是 int
中:
double xPos = (((double)x / maxX) * X_AXIS_LENGTH) + X_AXIS_OFFSET;
关于Java 数字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9523164/