2012년 2월 2일 목요일

게임 만들기 : Random 함수 관련 문제

다음 랜덤함수에서, 아래와 같이 실행하면, 문제가 없는데..

n은 전역변수.

 //double d = Math.random();
        //Random rnd = new Random();
        n = new Random().nextInt(501)+500;        //int k = rnd.nextInt();
        //int p = rnd.nextInt(500);
        //int n = rnd.nextInt(1000 - 500 + 1) + 500;
        System.out.println("< n >> : n" + n);

다음과 같이 실행을 하면, random 함수는 제대로 생성이 되나,
myButtonClick 에서 n값이 0으로 출력됨.

 //double d = Math.random();
        Random rnd = new Random();
       // n = new Random().nextInt(501)+500;
        int k = rnd.nextInt();
        int p = rnd.nextInt(500);
        int n = rnd.nextInt(1000 - 500 + 1) + 500;
        System.out.println("< n >> : n" + n);

 Button.OnClickListener myButtonClick = new Button.OnClickListener() {
  public void onClick(View v){
   String s;
   Counter++;
   int p  = Integer.parseInt(edit.getText().toString());
  
   System.out.println("< ppp >> "+ p);
   System.out.println("<< n >>>>>"+ n );
  
   if ( p < 500 || p > 1000)
    s = "입력한 값이 500 - 1000 을 벗어났습니다. " ;
   else if ( p == n )
    s = Counter + "번째에 맞추셨습니다";
   else if( p > n )
    s = p + " 보다 작은 값 " ;
   else
    s = p + "보다 큰 값";
  
   tResult.setText(s);
  
  }
 
 };

댓글 없음:

댓글 쓰기