gpt4 book ai didi

java - 均匀间隔的刻度标记

转载 作者:行者123 更新时间:2023-11-29 03:51:31 27 4
gpt4 key购买 nike

我必须以 10% 的间隔绘制刻度标记,从零开始到图形对象宽度的 100%。

我会做类似的事情:

int width = 556;
int k = width/10;
for(int i = 0;i<width;i++){
if(i%k==0){
draw marker on gui indicating a ten percent increment (10,20,etc. up to 100%)
}
}

如您所见,问题是 100% 将标记在索引 550 处,即实际结束之前的 6 个索引。这当然是 Not Acceptable 。

当然还有,宽度的实际数值是一个会变化的变量。

任何人都可以告诉我如何更改上面的代码,以便它均匀地间隔标记并将 100% 标记放在末尾吗?

如果我简单地删除第十个标记并手动将标记放置在 100%,标记之间的空间将不均匀。一定有更好的方法来做到这一点,所以我希望有人能告诉我。

最佳答案

对小数位使用 double 。不要经历所有的模组操作。进行 10 次迭代的简单循环,每个标记一次:

    int width = 556;
double dist = ((double)width)/9.0;
double k = 0;
for(int i = 0; i < 10; i++){
// Draw marker at (int)k
k += dist;
}

关于java - 均匀间隔的刻度标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8582751/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com