gpt4 book ai didi

java - 电网转换效率

转载 作者:行者123 更新时间:2023-12-01 12:46:59 25 4
gpt4 key购买 nike

事情是这样的,我有这两个功能,我觉得效率非常低,而且我也确信有更有效的方法来完成它们。所以“tile”变量是一个从 0 到 24 的 int,我需要根据该 int 获取 x 和 y。 (tile 变量类似于 5x5 网格中的特定按钮 ID)

第一个函数:

if (瓦片 == 0 || 瓦片 == 5 || 瓦片 == 10 || 瓦片 == 15 || 瓦片 == 20) x = 0
否则 if (瓦片 == 1 || 瓦片 == 6 || 瓦片 == 11 || 瓦片 == 16 || 瓦片 == 21) x = 1;
else if (瓦片 == 2 || 瓦片 == 7 || 瓦片 == 12 || 瓦片 == 17 || 瓦片 == 22) x = 2;
否则 if (瓦片 == 3 || 瓦片 == 8 || 瓦片 == 13 || 瓦片 == 18 || 瓦片 == 23) x = 3;
否则 x = 4;

第二个函数:

if(tile < 5) y = 0;
else if(tile < 10) y = 1;
else if(tile < 15) y = 2;
else if(tile < 20) y = 3;
else y = 4;

我想我可能已经找到了一种更有效的方法来完成第一个方法,尽管我不完全确定它是否更有效。

x = tile;
while(x >= 5)
x -= 5;

最有效的方法是什么?

最佳答案

虽然从性能角度来说这可能是微不足道的,但在可读性方面肯定有更好的方法来做到这一点。

x = (tile % 5); // modulus
y = tile / 5; // division

关于java - 电网转换效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24602494/

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