2016-02-26 6 views
0

Я пытаюсь вызвать метод timeTurn, и каждый раз, когда я пытаюсь, ничего не происходит, кроме ошибок при попытке скомпилировать. Я смотрел онлайн, и люди говорили, чтобы делать классы, а затем вызывать этот метод, используя (например, T.timeTurn), и все же он не работает. Ошибка, которую я получаю, говорит: «timeTurn не может быть разрешен или не является полем». Любая помощь будет принята с благодарностью.Как вызвать мой метод

myFinch.setWheelVelocities(240,255,T.timeTurn); 
myFinch.sleep(500); 

static class T { 

    public static Object timeTurn (int[] length) { 
    int minMillsecond = 1000; 
    int maxMillsecond = 3000; 
    int gap = 33; 
    for(int len : length) 
     if (30 <= len && len <= 90) { 
     len += minMillsecond; 
     while(len < 3000) { 
      len+=gap; 
     } 
     System.out.println(len); 
     } 
    return timeTurn(length); 
    } 
} 

} 
+0

Пожалуйста, проверьте отступ вашего кода, а также каждую открывающуюся фигурную скобку и ее собственную закрывающую копию. – Baderous

+2

это бесконечная рекурсия, как только вы вызываете метод с непустой длиной [], он будет бесконечно называть его. – SteveL

+0

Где вы пытаетесь назвать этот метод? В основном методе класса или где? Также, как и @SteveL, это бесконечная рекурсия. –

ответ

1

Вам необходимо отправить параметр массива.

Попробуйте использовать myFinch.setWheelVelocities(240,255,T.timeTurn(new int[0])); вместо myFinch.setWheelVelocities(240,255,T.timeTurn);.

Я считаю, что у вас есть доступный массив.

+0

Существует проблема с большим количеством проблем ... – ChiefTwoPencils

+0

Согласен. Но об ошибках нет. – josivan

+0

Вероятно, вам не нужна ошибка, если вы думаете о том, что они возвращают из метода. Но это ответ на вызывающую проблему, за исключением передачи пустого массива, будет не очень интересно. – ChiefTwoPencils

Смежные вопросы