我看到这条线有问题:

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/

10-10 22:32