他们是否有理由不决定在Android中添加contains方法(用于Path)?
我想知道我在路径中的点,并希望它比在这里看到的容易:
如何判断封闭路径是否包含给定点?
对我来说,创建一个ArrayList并将整数添加到数组中会更好吗?(我在控制声明中只检查了一次)。if(myPath.contains(x,y)
到目前为止,我的选择是:
我只是在寻找最有效的方法
不久前,我遇到了同样的问题,经过一番搜索,我发现这是最好的解决方案。
Java的Polygon
类具有contains()
使事情变得非常简单的方法。不幸的java.awt.Polygon
是,Android不支持该类。但是,我找到了写过同等课程的人。
我认为您无法从Android Path
类中获得组成路径的各个要点,因此您将不得不以其他方式存储数据。
该类使用交叉编号算法来确定该点是否在给定的点列表内。
/**
* Minimum Polygon class for Android.
*/
public class Polygon
{
// Polygon coodinates.
private int[] polyY, polyX;
// Number of sides in the polygon.
private int polySides;
/**
* Default constructor.
* @param px Polygon y coods.
* @param py Polygon x coods.
* @param ps Polygon sides count.
*/
public Polygon( int[] px, int[] py, int ps )
{
polyX = px;
polyY = py;
polySides = ps;
}
/**
* Checks if the Polygon contains a point.
* @see "http://alienryderflex.com/polygon/"
* @param x Point horizontal pos.
* @param y Point vertical pos.
* @return Point is in Poly flag.
*/
public boolean contains( int x, int y )
{
boolean oddTransitions = false;
for( int i = 0, j = polySides -1; i < polySides; j = i++ )
{
if( ( polyY[ i ] < y && polyY[ j ] >= y ) || ( polyY[ j ] < y && polyY[ i ] >= y ) )
{
if( polyX[ i ] + ( y - polyY[ i ] ) / ( polyY[ j ] - polyY[ i ] ) * ( polyX[ j ] - polyX[ i ] ) < x )
{
oddTransitions = !oddTransitions;
}
}
}
return oddTransitions;
}
}
这意味着什么,我如何搜索我的字符串?
我在Eclipse中创建了一个Java项目,并创建了一个带有main方法的简单类。 问题:当我运行程序(没有任何服务器等)时,我收到以下错误: 线程“main”java中出现异常。lang.NoClassDefFoundError:org/apache/commons/codec/DecoderException at autoPEC。main(autoPEC.java:6)由:java引起。la
我在JavaFX中创建了一个迷宫游戏,用户可以创建自己的迷宫并玩它。迷宫是使用带有CSS IDs的按钮构建的,CSS IDs取决于关卡临时存储的二维数组。 问题出现在项目的下一部分。我创建了一个生成随机迷宫的算法。为了使水平成为可能,我需要检查迷宫是否可解(即,你可以从起点(0,3)到终点(6,3))。 我使用相同的显示算法创建了一个单独的项目,类如下: 主要.java Runner.java M
问题内容: 是否可以指定一个Java ,其中包含另一个JAR文件中包含的JAR文件? 问题答案: 如果您试图创建一个包含应用程序及其所需库的jar,则有两种方法(我知道)。第一个是One-Jar,它使用特殊的类加载器来允许jar的嵌套。第二个是UberJar(或Shade),它会爆炸包含的库并将所有类放在顶级jar中。 我还应该提到UberJar和Shade分别是Maven1和Maven2的插件。
我在eclipse中有一个java项目,我在ec利pse之外使用ivy依赖项管理器,所以我的目录结构中充满了各种jar文件。有没有一种简单的方法将我的eclipse项目的路径指向常春藤目录并拾取所有jar文件? 我试图避免将每个单独的jar拉到我的eclipse项目目录中,并希望有更好的方法。
我在ubuntu上使用py的3.4版,并有一个具有以下结构的项目: utils文件夹还包含一个< code>__init__。py文件,它提供了许多实用函数。我想包括其中的一些,但它找不到: 我关注了这篇文章,它似乎讨论了同样的问题:如果我打开一个不是Django根目录的目录,PyCharm找不到正确的路径 但是将< code>~/project更改为“source”文件夹并没有帮助。这不是我的一