我看到这条线有问题:
int xPos = ((x / maxX) * X_AXIS_LENGTH) + X_AXIS_OFFSET; =
为了测试,我分配了:
int x = 10;
int maxX = 52;
但是在此计算中使用时,
x / maxX
给我的是0
而不是0.19
!http://s12.postimage.org/uawn8b6l9/image.png
最佳答案
您正在这里进行整数除法:
x / maxX
整数除法将截断小数部分。
将参数之一强制转换为浮点以对其进行修复:
(double)x / maxX
您可能还希望将整个内容存储在
double
而不是int
中:double xPos = (((double)x / maxX) * X_AXIS_LENGTH) + X_AXIS_OFFSET;
关于java - Java编号错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9523164/