Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> J2ME и время. Как совметить, Помогите ввести время! 
:(
    Опции темы
darkvivi
Дата 24.9.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 24.9.2008

Репутация: 1
Всего: 1



   Доброго время суток! Я меня проблема:
Как ввести переменную времени, её временной цикл (400 милисекунд) и чтобы каждые 400 милисекунд менялось значение переменной N. Нужно, чтобы как-бы от времени зависело значение переменной N и чтобы его значение изменилось много-много раз за 1 секунду (по 400 милисекунд раз). 
       То есть 400 милисекунд - N = 1. Следующие 400 милисекунд - N = 2 и тд до целой секунды. Потом идёт повторение заного.


                                Всем спасибо, кто готов помочь и подсказать! smile 
PM MAIL   Вверх
Dummy
Дата 24.9.2008, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 21.5.2007

Репутация: 7
Всего: 19



Коленочный вариант:

Код

Object waitOnMe = new Object();
boolean repeat = true;
int n = 0;

while (repeat) {
     synchronized (waitOnMe) {
          try {
             waitOnMe.wait(400);
         } catch (InterruptedException ie) {
             ie.printStackTrace();
             repeat = false;
         }
     }

     n = (n + 1) % 3;

      if (/* какое-нибудь условие выхода из цикла */) {
          repeat = false;
      }
}


Только интервал 400 мс - это явно не "много-много раз за секунду", а всего 2.5 раза)))

З. Ы. Название темы мне понравилось)))
PM MAIL   Вверх
W0LF
Дата 24.9.2008, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



ваще-то в секунде 1000мс, то есть будет две итерации за одну секунду по 400мс
я если честно не особо догнал ситуацию, но может так :
Код

int n = 0;
for (int i = 1; ; i++) {
    n = 400 - i;
    System.out.println("i= "+i);
    Thread.sleep(400);
    if (i == 2) {
        i = 0;
    }
}

такой себе вечный цикл, который будет менять переменную n на 399, 398


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
darkvivi
Дата 25.9.2008, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 24.9.2008

Репутация: 1
Всего: 1



 Спасибо smile 
Один единственный вопрос: куда писать этот текст)))


Код

while (repeat) {
     synchronized (waitOnMe) {
          try {
             waitOnMe.wait(400);
         } catch (InterruptedException ie) {
             ie.printStackTrace();
             repeat = false;
         }
     }

     n = (n + 1) % 3;

      if (/* какое-нибудь условие выхода из цикла */) {
          repeat = false;
      }
}


может быть в public void update() ?  smile 

Это сообщение отредактировал(а) W0LF - 26.9.2008, 02:06
PM MAIL   Вверх
Dummy
Дата 25.9.2008, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 21.5.2007

Репутация: 7
Всего: 19



Вот уж поистине smile    Это зависит полностью от той задачи, которую ты решаешь. Никто здесь твоего кода, вероятно, не видел, поэтому и кокретно ответить, куда же это все надо помещать, вряд ли сможем. Мы ж тут не smile...  Приведи свой код, возможно, виднее станет.
PM MAIL   Вверх
W0LF
Дата 26.9.2008, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20




M
W0LF
darkvivi,
 smile
Чтоб не выделять код вот таким образом - ///, обрамляй его, пожалуйста, в тег [code] либо же выдели код и тыцни на кнопочку "Код"    
И это, код в студию smile
smile   

Это сообщение отредактировал(а) W0LF - 26.9.2008, 02:12


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
Hades
Дата 26.9.2008, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 8.8.2008

Репутация: нет
Всего: 37



Цитата(W0LF @  24.9.2008,  23:17 Найти цитируемый пост)
такой себе вечный цикл, который будет менять переменную n на 399, 398

можно немного улучшить
Код

int n = 398;
while (true) {
    n = 797 - n;
    // ...
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.1774 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.