Имам този метод:
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);
}
когато се опитам да направя друг метод в нов клас, който нарича този метод, получавам грешка:
- Маршрут на конструктора в класа Маршрут не може да бъде присвоен на дадени типове;
- задължително: Списък
- Намерени: няма аргументи
- Изложение на мотивите: действителните и официалните списъци с аргументи се различават по дължина
Моят код е както следва и тази грешка се появява на реда [Route newRoute = new Route ()]
public Route subRouteV(int startOffset, int endOffset){
Route newRoute = new Route();
Route vSubR = newRoute.getSubroute(startOffset, endOffset);
}
Отговори:
0 за отговор № 1Проблемът идва от тази линия
Route newRoute = new Route();
Вие също трябва
- Обадете се на конструктора на
Route
с аргумент - Изградете нов конструктор за
Route
който не приема аргументи.