|
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
|
||||||
Как сделать задержку выполнения цикла?07.03.2012, 14:56. Показов 12998. Ответов 14
Метки нет (Все метки)
Мне надо притормозить цикл:
Казалось бы простейшая ситуация, а тут....... ![]() Подскажите пожалуйста в чём ошибка и как её исправить.
0
|
||||||
| 07.03.2012, 14:56 | |
|
Ответы с готовыми решениями:
14
Как сделать задержку? Как сделать задержку в программе? |
|
0 / 0 / 4
Регистрация: 14.08.2007
Сообщений: 307
|
|
| 07.03.2012, 15:14 | |
|
тебе же компилятор уже ответил на вопрос.
".. Exception must be caught or declared to be thrown .." Это значит, что так как метод wait() может выбросить InterruptedException, то нужно либо прописать этот эксепшн в throws твоего метода, либо поймать и обработать самому - обвернуть вызов wait() в try-catch.
0
|
|
|
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
|
|||||||
| 07.03.2012, 16:35 [ТС] | |||||||
Если использовать связку try-catch тоже ошибка ![]()
![]() Немог бы ты более детально объяснить "тёмному человеку", лучше конечно на примере как отловить эту ошибку.
0
|
|||||||
|
0 / 0 / 4
Регистрация: 14.08.2007
Сообщений: 307
|
||||||
| 07.03.2012, 16:52 | ||||||
|
Ты что то путаешь. Такая кончтрукция должна компилироваться без проблем. Если ты действительно видишь какие то сообщения компилятора об ошибках - пости их сюда.
0
|
||||||
|
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
|
||
| 07.03.2012, 17:24 [ТС] | ||
Когда откомпилируешь и запустишь нажми на -> -стрелочку вправо . После вызовется цикл изменит позицию "ног" и выведит в консольке ряд ошибок связанных с InterruptedException и wait
0
|
||
|
3 / 3 / 0
Регистрация: 25.08.2010
Сообщений: 213
|
|
| 07.03.2012, 18:18 | |
|
проверять нет времени - но в данном случае по-любому надо ловить сообщение тока в вейте а не во всем циклею потому как сейчас ты вылетишь из цикла при первом же исключении, а не просто перейдешь на след итерацию
0
|
|
|
3 / 3 / 3
Регистрация: 09.07.2008
Сообщений: 422
|
|
| 07.03.2012, 18:28 | |
|
Компилируется без проблем (у меня JBuilder) и работает в том виде, в каком ты выложил. Чем компилируешь?
И, кстати, почему не юзаешь Thread?
0
|
|
|
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
|
||
| 07.03.2012, 18:40 [ТС] | ||
(В правильном состоянии изминение размера линий "ног" происходит 10 раз с задержкой в 1 секунду). Почему не использую Thread? Если не ошибаюсь Thread используеться при создании потока. (потоки и таймеры в данной ситуации ненужны).
0
|
||
|
0 / 0 / 4
Регистрация: 14.08.2007
Сообщений: 307
|
|
| 07.03.2012, 19:53 | |
|
Всё компилируется и запускается. Окно разворачивется на весь экран, появляются две человекоподобных фигурки и не видно никаких стрелок. Звиняй, разбираться с твоим кодом и пытаться понять что там со стрелочками некогда. Кстати интересно - я подозревал что жбилдер убогий тул, но неужели в нём нет даже автоформатирования кода?
0
|
|
|
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
|
||
| 07.03.2012, 20:07 [ТС] | ||
0
|
||
|
0 / 0 / 4
Регистрация: 14.08.2007
Сообщений: 307
|
||||||
| 07.03.2012, 20:22 | ||||||
|
стрелочки я уже нашёл таки
)смотри, основное тут это RTFM. смотришь в консоль, там написан класс вылетевшего exception и строчка в твоём коде откуда он полетел. Если тебе этот exception незнаком - идёшь и читаешь javadoc к нему (вылетел IllegalMonitorStateException на вызове wait()). После этого идёшь и перечитываешь javadoc метода wait() и приходишь к выводу что если перед вызовом wait() ты захватишь монитор, то exception лететь не будет. Примерно вот так:
0
|
||||||
|
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
|
||
| 07.03.2012, 21:12 [ТС] | ||
У меня то как раз его то и нет в JBuilder'e ![]() Мне интересно как именно твоё изменение работает у тебя? У меня оно делает задержку экрана на 10 секунд, после перерисовывает "ноги" в конечное положение без пошагового перерисования с шагом задержки 1секунда ![]() Большое спасибо тебе за попытку мне помочь, но пока что-то не получаеться
0
|
||
|
0 / 0 / 4
Регистрация: 14.08.2007
Сообщений: 307
|
|
| 07.03.2012, 21:50 | |
|
как это "не получается" ?
по моему в этой ветке мы уже пофиксли тебе один compile time exception и один runtime exception. Теперь формулируй новый вопрос и заводи новую ветку.
0
|
|
|
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
|
||
| 07.03.2012, 22:51 [ТС] | ||
![]() Если честно я хотел бы избежать потоки и таймеры. В С++ есть функция sleep(1000); - задержка, но в Java я надеялся есть такая же функция, но боюсь оно всё реализовано через потоки ![]() Ещё раз большое тебе спасибо за помощь.........
0
|
||
|
0 / 0 / 1
Регистрация: 21.03.2012
Сообщений: 13
|
||||||
| 21.03.2012, 15:38 | ||||||
|
Вот именно через потоки такая функция и доступна. Пишешь:
А вот wait(long timeout) это метод твоего объекта из класса java.lang.Object, который используется в значительно более сложных ситуациях. Например, когда ты знаешь, что кто-то, работаюший в другом потоке, сообшит тебе о том, что можно продолжить работу. Здесь тебе это не нужно.
0
|
||||||
| 21.03.2012, 15:38 | |
|
Помогаю со студенческими работами здесь
15
Как засечь время выполнения цикла или программы или какого-то оператора? Как сделать повторения этого цикла? Как сделать переменную, инициализированную в цикле for, досупную вне этого цикла? Как сделать задержку выполнения программы? Как сделать задержку выполнения программы на 3 сек Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|