2016-11-10 6 views
-2

Я не могу для жизни меня разобраться, почему этот вложенный цикл не работает.Что не так с этим вложенным циклом?

public void getMagsAboveX(double minimumMag) 
{ 
    for(Observatory myObservatory : monitoring) { 
     for(Earthquake myEarthquake : earthquakes) { 
      if(myEarthquake.returnMagnitude() > minimumMag) { 
       System.out.print(myEarthquake.returnMagnitude() + ", "); 
      } 
     } 
    } 
} 

я получаю ошибку «не удается найти символ - переменная землетрясения», но, насколько я знаю, землетрясения это имя второго ArrayList Я хочу, чтобы перебирать. Если я изменю «землетрясения» на ArrayList(), я получу ошибку «-> ожидается». Я не знаю, что это не нравится.

+0

Какая строка кода выходит из строя и с какой ошибкой? – Smutje

+0

Хорошая традиция в Java не использует простое слово «переменная», но «поле», «локальная переменная», «статическое поле», «параметр» и т. Д. Слово имеет смысл, неправильное использование дает неправильное понимание –

+0

Пользователь ' get ... 'метод ожидает, что ему что-то дано, а не то, что оно« пусто ». Метод 'get ...' создает побочный эффект. –

ответ

0

Во-первых: в ваших комментариях javadoc к вашим методам вы говорите, что ваши методы «возвращают» что-то. Они этого не делают. Оба метода: void.

И до тех пор, пока вы вызываете getMagsAboveX(minimumMag) на объект типа Обсерватория внутри вашего метода listMagsAboveX, я не вижу, что может не получиться.

Вы должны опубликовать полные методы, если вам нужна дополнительная помощь.