Получение элементов из массива из другого класса - PullRequest
0 голосов
/ 25 октября 2018

У меня есть класс Maraton, который выглядит следующим образом:

public class Maraton implements IMaraton {
private Atleticar[] niza;
public Maraton(Atleticar[] niza) {
    super();
    this.niza = niza;
}

И я класс Atleticar, который выглядит так:

public class Atleticar{

private double vreme;

public double getVreme() {
    return vreme;
}
public void setVreme(double vreme) {
    this.vreme = vreme;
}

И я хочу сделать функцию в Maraton, которая возвращает менясамый короткий "време".У меня есть трудности с реализацией этого метода, потому что я новичок в Java.Любой совет будет принят во внимание.Tnx заранее.

Ответы [ 4 ]

0 голосов
/ 25 октября 2018

Идея довольно проста: вы должны выполнить итерацию по массиву, чтобы вычислить, какой элемент является минимальным.

Но, похоже, это очень хороший пример использования для функционального программирования:

OptionalDouble min = 
Arrays.stream(niza)
      .mapToDouble(Atleticar:getVreme)
      .min();

Затем обработайте состояние OptionalDouble в соответствии с вашими требованиями.

0 голосов
/ 25 октября 2018

Примерно так:

public static int getMinVreme(int[] array) {
    int minValue = array[0].getVreme;
    for (int i = 1; i < array.length; i++) {
        if (array[i].getVreme < minValue) {
            minValue = array[i].getVreme;
        }
    }
    return minValue;
}

должно работать на вас.

0 голосов
/ 25 октября 2018

Вы можете перебрать массив и найти самое короткое значение из всех.

double shortestVreme = Double.MAX_VALUE;
for(Atleticar arrElement: niza) {
   if(arrElement.getVreme() < shortestVreme) {
      shortestVreme = arrElement.getVreme();
   }
}
return shortestVreme; // from the method
0 голосов
/ 25 октября 2018

Вы можете сделать что-то вроде этого:

public Atleticar getFastestOne(){
  Optional<Atleticar> optAtleticar = Arrays.stream(niza).min(Comparator.comparing(Atleticar::getVreme));
  if(optAtleticar.isPresent()){
     return optAtleticar.get();
  }
  return null;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...