2014-01-21 3 views
0

Я искал некоторую помощь с проблемой, с которой я столкнулся в последнее время. Я хочу уменьшить с 200 до 0, но я не хочу, чтобы это было мгновенно, но я хочу, чтобы он уменьшался в течение секунды. Например, через 0,5 секунды он будет равен 100, 0,75 - 50 и так далее. Если это вообще возможно, я хотел бы услышать от вас, ребята! -Спасибо, BrandonУменьшение Java по времени

+0

Да, это возможно. Подсказка: используйте 'Thread.sleep' –

+0

Изучите разделы Threads и Time в Java –

+0

' ScheduledExecutorService' –

ответ

1

делать то, что вы хотите, вот ответ:

int index = 200; 

while(index != 0) 
{ 
    index--; 
    System.out.println("The value is: " + index); 
    try { 
     //200 * 5 milliseconds = 1 second 
     Thread.sleep((long) 5); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 
} 

Вы можете поместить это в потоке , Вот страница, которая могла бы вам помочь: http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html

+1

Ах, спасибо! Это прекрасно работает, и спасибо за ссылку тоже, я скоро буду читать. – user3217575

0

Вы можете попробовать с помощью таймера. Запланируйте его для запуска с требуемым интервалом и уменьшите значение по желанию. Существуют и другие варианты, такие как повторение в цикле, ожидание требуемого интервала, а затем уменьшение.

0

вы можете включить Java Thread, в методе run сделать цикл и использовать метод Thread.sleep при условии.

0

вы можете использовать что-то вроде этого. найдите пропорцию, которую вы хотите задержать, и задержите ее на каждой итерации с помощью thread.sleep. в каждой итерации бегущей нити (основная программа) будет спать в течение 200 Mili секунд

public static void main(String[] args) throws InterruptedException { 


     for(int i = 0;i<200;i++){ 
      Date date = new Date(); 
     Thread.sleep(200); // this is mili seconds 
     System.out.println(date.getTime()); 
     } 


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