프로그래밍

 3198, 1/160 회원가입  로그인  
   ksbgenius
   [자바]쓰레드를 이용한 출력 관련 프로그램

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3031 [복사]


import java.util.*;
public class Hello {
        
        
        public static void main(String[] args)throws InterruptedException{
                Date date = new Date();
                for(int i = 0; i <=2; i++){
                        Thread.sleep(1000);
                        System.out.println(date+" 안녕하세요");
                        
                }
        
        }
}

이 소스에서 출력을 하면 현재시간이 똑같이 계속 출력되는데,
제가 원하는 것은 현재 시간이 출력이 되기는
초가 1초씩 증가되면서 출력되는 것을 원하느데..한수 부탁드립니다.

  Hit : 5339     Date : 2011/06/02 11:40



    
$Zero 자바 하는 분이 정말 없긴 한가보네요.. 답변이 안달리네.. 슬프다 .. ㅠㅠ
코드를 이렇게 바꾸세요
import java.util.*;
public class Hello {


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

for(int i = 0; i <=2; i++){
Date date = new Date();
Thread.sleep(1000);

System.out.println(date+" 안녕하세요");

}

}
}
Date 인스턴스는 생성할당시 현재 시간을 갖게 됩니다.
그 해당시간을 계속 출력하니 당연히 같은 값이 나오지요.
1초가 지난 뒤 인스턴스를 다시 생성해서 변수의 값을 갱신해주셔야 한답니다.
2011/06/03  
ksbgenius 감사합니다 ㅎㅎ 2011/06/03