Java 如何修改for循环以使其不';不要把第一个和最后一个比较,而是把其他的东西和最后一个比较?
例如,我这里有一个点列表 列表= 我想和和比较,但不是 但其他一切都可以与之相比 基本上第一个和最后一个元素不能比较,因为这意味着我的多边形是闭合的Java 如何修改for循环以使其不';不要把第一个和最后一个比较,而是把其他的东西和最后一个比较?,java,polygon,Java,Polygon,例如,我这里有一个点列表 列表= 我想和和比较,但不是 但其他一切都可以与之相比 基本上第一个和最后一个元素不能比较,因为这意味着我的多边形是闭合的 for(int i = 0; i < this.points.size()-1; i++) { Point firstPoint = this.points.get(i); for(int j = i+1; j < this.points.size(); j++) {
for(int i = 0; i < this.points.size()-1; i++) {
Point firstPoint = this.points.get(i);
for(int j = i+1; j < this.points.size(); j++) {
Point secondPoint = this.points.get(j);
Line2D line1 = new Line2D.Double(firstPoint.getX(), firstPoint.getY(), secondPoint.getX(), secondPoint.getY());
Line2D line2 = new Line2D.Double(((Line) aLine).getStart().getX(),((Line) aLine).getStart().getY(),((Line) aLine).getEnd().getX(),((Line) aLine).getEnd().getY());
boolean result = line2.intersectsLine(line1);
if(!result) {
}
for(int i=0;i
您可以向内部循环添加一个条件(i!=0 | | j!=this.points.size()-1)
for(int i = 0; i < this.points.size()-1; i++) {
Point firstPoint = this.points.get(i);
for(int j = i + 1; j < this.points.size() && (i != 0 || j != this.points.size() - 1); j++) {
....
}
}
for(int i=0;i
如果没有,您可以添加一个
continue
语句,如果i==0
和j==this.points.szie()-1
,您可以实现以下所需的输出:
boolean isFirstElement = true;
for (int i = 0; i < pList.size() - 1; i++) {
Point pointOne = pList.get(i);
for (int j = i + 1; j < pList.size(); j++) {
Point pointTwo = pList.get(j);
if (j + 1 == pList.size() && isFirstElement) {
continue;
} else {
// your comparison logic goes here...
}
}
isFirstElement = false;
}
boolean isFirstElement=true;
对于(int i=0;i
如果(j+1==pList.size()&&i==0)就可以了,那么不必使用额外的变量isFirstElement
。