【发布时间】:2016-09-18 15:27:09
【问题描述】:
我有这个方法:
public Route getSubroute(int startOffset, int endOffset) {
if (!(0 <= startOffset && startOffset < endOffset && endOffset <= this.getLength())) {
throw new IllegalArgumentException("Subroute is out of bounds.");
}
// the sub-segments that will make up the sub-route
List<Segment> subsegments = new ArrayList<>();
// variable offset is the distance along the route to the start of the
// segment currently being examined
int offset = 0;
for (Segment segment : segments) {
if (startOffset - offset < segment.getLength() && 0 < endOffset - offset) {
// part of the segment belongs on the sub-route
int subsegmentStartOffset = segment.getStartOffset() + Math.max(startOffset - offset, 0);
int subsegmentLength = (Math.min(endOffset - offset, segment.getLength()) - Math.max(startOffset - offset, 0));
subsegments.add(new Segment(segment.getSection(), segment.getDepartingEndPoint(), subsegmentStartOffset, subsegmentStartOffset + subsegmentLength));
}
offset += segment.getLength();
}
return new Route(subsegments);
}
我正在尝试在另一个类中调用此方法。我知道我必须做一个实例,但我不知道我做错了什么。在我开始出现错误之前,这是我所得到的:
public Route subRouteV(int startOffset, int endOffset){
Route newRoute = new Route();
Route vSubR = Route.getSubroute(startOffset, endOffset);
}
【问题讨论】:
标签: java methods instance public