我现在正在开发一个安卓应用程序。我在我的应用程序中遇到了一个重要方法的问题,因为我无法做出最佳算法来将许多输入等同于许多数据。
场景如下:方法的输入是来自 override 方法的坐标onTouchEvent()
,所以当触摸屏幕并在其上移动手指时输入会很多。我必须将这么多坐标等同于数组中的 24 个值。数组中的值也是一个坐标。因此,当输入与数组中的值具有相同的值时,它会得分。
这是我使用的代码:
public void checkCoordinate(float x, float y){
int sensitivity = 30;
for(int z = 0; z < 24; z++){
if(x > (cxy[z][0]-sensivity) && x < (cxy[z][0]+sensivity) && y > (cxy[z][1]-sensivity) && y < (cxy[z][1]+sensivity)){
points += 1;
Log.i("CheckCoordinate", "Total Points = "+points);
}
}
我有两种方法来等同。一,使用上面的算法,或者使用 24 if 检查每个输入。但我认为在这种情况下两种方法都不好。因此,如果您遇到与我相同的情况并且您已经解决了该问题,或者您有更好或最好的解决方案,我需要您的帮助,请告诉我。
先感谢您。对不起,如果我的英语不好。