랜덤한 값을 뽑아내는데 쉽고 간편하게 쓸 수 있는 방법이 자바에서 제공해주는 랜덤함수를 쓰는 것이다.

크게 2가지를 이용할 수 있다.

 

첫번째, Random Class 이용하기

1
2
3
4
5
6
7
8
9
10
11
12
13
package{
  public class {
    public static void main(String arg[]) {
      Random random=new Random();
 
      System.out.println(random.nextInt());
      System.out.println(random.nextInt(10));
      System.out.println(random.nextBoolean());
      System.out.println(random.nextDouble());
    }
  }
}
 

 

두번째, Math Class이용하기

1
2
3
4
5
6
7
8
9
package{
  public class {
    public static void main(String arg[]) {
        int random=(int)(Math.random()*100)+1;
        System.out.println(random);
    }
  }
}
 

Math.random()으로 정수형 랜덤을 뽑아내는 경우 double인 반환값을 정수형 형변환을 통해 소수점을 잘라주는게 포인트 입니다. 

 

정수형의 경우 편하게 계산하기 위해 일반화시켜봤는데요.(물론 별거아니지만...)

new Random().nextInt(MaxValue-MinValue+1)+MinValue

(int)(Math.random()*MaxValue-MinValue+1)+MinValue

 

Random Class와 Math Class는 각기 다른 용도가 있습니다. 저의 경우 Random Class만 이용하는 편인데 살펴보다보니 random값을 자주 뽑을 필요가 없고 또한 다양한 형태로 뽑을 필요가 없다면 Math 클래스로 static한 random 메서드를 이용하는게 좀 더 효율적일수도 있을거 같다는 생각이 들기도하네요.

Posted by duehd88
,