2014-01-21 3 views
0

최근에 발생한 문제에 대한 도움을 찾고 있습니다. 나는 200에서 0으로 줄이기를 원하지만, 나는 그것이 즉시가되고 싶지는 않지만, 오히려 나는 그것을 1 초에 걸쳐 감소시키고 싶다. 예를 들어, 0.5 초에서 100, 0.75 일 때 50이 될 것입니다. 이것이 가능하다면, 나는 너희들의 말을 듣고 싶다! - 너무 고맙습니다. 브랜든Java가 시간이 지남에 따라 감소합니다.

+0

예, 가능합니다. 힌트 :'Thread.sleep'를 사용하십시오. –

+0

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 밀리 초

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()); 
     } 


    } 
관련 문제