티스토리 뷰

Java

[java입문] Random 수 생성하기

now.ubermensch 2019. 1. 30. 13:12

java Random 함수

자바에서 랜덤한 수를 가져오고 싶을 때 랜덤함수를 사용한다. Math.random() 함수도 있지만 멀티 쓰레드 환경에서 성능에 더 좋은 java.util.Random클래스를 이용한 방법을 알아보자.

 

Java.util.Random 클래스

자바에서 제공하는 Random 클래스의 객체를 생성하면 쉽게 랜덤한 수를 생성할 수 있다.

많이 쓰이는 함수로는 nextint() 등이 있다.

package javaExampleCode;

import java.util.Random;

public class JavaRandomFunction {
	public static void main(String[] args) {
		Random random = new Random();
		
	        System.out.println("Double: "+random.nextDouble());
	        System.out.println("Boolean: "+random.nextBoolean());
        //int 의 범위 -2,147,483,648 ~2,147,483,647 내에서 무작위 수 발생
	        System.out.println("Int: "+random.nextInt());
        // 0 ~ 10 사이의 Random int 값 생성
	        System.out.println("Int(1~10): "+(random.nextInt(10)+1));
		
	}
}

실행결과

Double: 0.6674041415685564
Boolean: false
Int: -155838737
Int(1~10): 9

생성방법 비교

  1. 범위를 지정해주지 않는 경우

    random.nextInt();

    • 이처럼 매개변수에 값을 안 넣어주면 해당 자료형의 범위 내에서 랜덤하게 출력이 된다.
  2. 범위를 지정해주는 경우

    random.nextInt(100)+1;

    • 0~원하는 범위 내에서 랜덤한 수를 생성한다. 이때 지정 범위는 0보다 큰 양의 값이어야 한다.
    • 0부터 생성하기 때문에, 100까지 생성하고 싶으면 +1 해줘야 한다.
    • 범위가 0을 포함한 음수의 값을 가지게 되면, java.lang.IllegalArgumentException:bound must be positive에러가 발생한다.
    • 음수를 랜덤하게 생성하고 싶다면, 양수의 범위로 생성 한 후 -1을 곱해서 처리한다.

 

 

 

 

'Java' 카테고리의 다른 글

[java입문] 배열의 복사 , arrayCopy()  (0) 2019.01.30
[java입문] 가변배열  (0) 2019.01.30
[java입문] 다차원 배열  (0) 2019.01.30
[java입문] 배열 (Array)  (0) 2019.01.30
[java입문] 변수  (0) 2018.12.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함