개발공부

JAVA쪼렙탈출기: Random Class

Yuniverse. 2023. 5. 21. 09:19
Python과 SQL만 써본 주니어 분석가. '개발공부를 해보고 싶다', '개발도 공부하긴 해야하는데...'는 말만 한지 어연 1년이 넘어가는 중, 이대로는 안되겠다 싶어 냅다 JAVA 수업 수강에 카드를 긁었다. 쪼렙 중의 쪼렙이 JAVA를 배워나가는 여정을 "JAVA 쪼렙 탈출기"라는 시리즈로 남길 예정이다.

Random Class

숫자를 랜덤으로 생성하는 클래스로 타 클래스들과 마찬가지로 객체를 생성하여 사용한다.

 

nextInt( )

int 범위의 숫자를 랜덤으로 생성해주는 메서드

import java.util.Random;

public class RandomEx {
	
	public static void main(String[] args) {
		
		Random random = new Random();
		
		int va = random.nextInt();
		System.out.println("va : " + va);
		System.out.println();
		
	}

}

[결과값]

va : -1966546896

 

만일 일정 범위 안의 숫자를 랜덤으로 생성하고 싶다면 괄호 안에 bound값을 넣으면 된다.

nextInt( bound ) : 0 ~ (bound-1) 사이의 숫자가 랜덤으로 생성된다.

import java.util.Random;

public class RandomEx {
	
	public static void main(String[] args) {
		
		Random random = new Random();
		
		for(int i=0; i<5; i++) {
			int vb = random.nextInt(10);
			System.out.println("vb : " + vb);
		}
		System.out.println();
		
	}

}

[결과값]

vb : 4

vb : 1

vb : 7

vb : 0

vb : 0

 

nextDouble( )

0.0 이상 1.0 미만 사이의 float값을 랜덤으로 생성해주는 메서드

import java.util.Random;

public class RandomEx {
	
	public static void main(String[] args) {
		
		Random random = new Random();
		
		double vd = random.nextDouble();
		System.out.println("vd : " + vd);
		System.out.println();
		
	}

}

[결과값]

vd : 0.7816857572200884

 

 

nextInt( ) 활용 방안

float의 숫자 생성 범위를 늘리고 싶다면 nextInt( )를 활용한다.

import java.util.Random;

public class RandomEx {
	
	public static void main(String[] args) {
		
		Random random = new Random();
		
		// 소수점 첫째자리까지 출력
		double ve = random.nextInt(100) / 10.0;
		System.out.println("ve : " + ve);
		System.out.println();
		
	}

}

[결과값]

ve : 4.4

 

 

소문자 알파벳을 랜덤으로 출력하는 코드를 작성할 때도 nextInt( )를 사용한다. 아스키코드 활용

import java.util.Random;

public class RandomEx {
	
	public static void main(String[] args) {
		
		Random random = new Random();
		
		char ch = (char)(random.nextInt(26) + 97); // 소문자 알파벳 a가 아스키코드에서 97
		System.out.println("ch : " + ch);
		System.out.println();
	}

}

[결과값]

ch : p

'개발공부' 카테고리의 다른 글

JAVA쪼렙탈출기: 메서드 (Method)  (1) 2023.05.21
JAVA쪼렙탈출기: 배열 (Array)  (0) 2023.05.21
JAVA쪼렙탈출기: 반복문  (0) 2023.05.20
JAVA쪼렙탈출기: 제어문  (0) 2023.05.20
JAVA쪼렙탈출기: Scanner Class  (0) 2023.05.14