Я хотел бы создать функцию в программе, которую я делаю, и я хотел бы вернуть массив первых 5 машин массива, а в случае, если их меньше 5, вернуть максимум автомобилей там, я думал что-то вроде этого:
public Car[] getCars() {
String[] Garage= new String[] {"Elem1", "Elem2", "Elem3","Elem4", "Elem5"};
}
Любая помощь? Спасибо.
Ты можешь воспользоваться Arrays.copyOfRange
, чтобы создавать метод, который был бы возможным использовать для любого предельного количества объектов. Так, если в сцене их требуют как максимум 5
, или поскольку ты не был бы должен менять максимум 25
ничто.
Например:
public Car[] getPartialCars(int mLimit) {
/*Aquí asumimos que arrayOfCars es un array de objetos del tipo Car*/
//Determinamos el tamaño del array
mSize=arrayOfCars.size();
//Verificamos si es menor al límite requerido al llamar al método
if (mSize < mLimit) {
return arrayOfCars;
} else {
return Arrays.copyOfRange(arrayOfCars, 0, mLimit);
}
}
Восток метод служил бы для контекста, в котором они требовались бы как максимум 5
:
getPartialCars(5);
И этот, когда они будут требоваться как максимум 25
:
getPartialCars(25);
Или любая другая стоимость. Единственной, что он меняет, является стоимость, которую ты перемещаешь его в метод, назвав это.
Кроме того, ввиду того, что copyOfRange
допускает также, что он показывает его ему, начиная с где начинаться, метод может быть расширенным, если хочется начинаться с определенного положения, беря предосторожности ошибок типа Out of Bound
String[] primCoches=new String[]();
for(int i=0;i < 5 && i < Garage.length - 1;i++){
// Aqui concatenas el primCoches.push(Garage[i]);
}
return primCoches;
не я они mГ©todos, чтобы прилагать элементы в array в Java прямо сейчас, но идея была бы этой.