[Java] Math() 메소드로 배열에서 랜덤 문자열 추출

Wish·2025년 2월 18일

Java

목록 보기
2/3

문제 )

rockPaperScissors() 메소드를 호출하여 랜덤으로 "가위", "바위", "보"를 출력하시오.

1) 문자열 배열 생성
	string[] arr = {"가위", "바위", "보"};
2) 배열에서 문자열을 추출하기 위한 랜덤 index 생성
	double random = Math.random();
    /* random으로 뽑을 수의 범위를 제한할 때 
       Math.random() 값에 제한 범위 값을 곱한다.
       해당 문제에서는 배열 값의 수 만큼 범위를 제한해야 하므로
       (배열의 길이 - 1) 값을 곱해준다. */ 
    int index = (int) Math.round(random * (arr.length-1));
    
3) 랜덤 값 반환
	return arr[index];
4) 전체 코드
public class RandomMaker() {
	public static String rockPaperScissors() {
    	string[] arr = {"가위", "바위", "보"};
        double random = Math.random();
        int index = (int) Math.round(random * (arr.length-1));
    	return arr[index];
    }
    
    
    public static void main(String[] args) {
    	String str = rockPaperScissors();
    	System.out.println(str);
    }
}
Method설명
Math.round([double d or float f])파라미터로 입력받은 숫자의
소수점 이하의 값이 0.5보다 크면 절대값이 높은 정수를 리턴한다.
소수점 이하의 값이 0.5보다 작으면 절대값이 낮은 정수를 리턴한다.
소수점 이하의 값이 0.5이면 절대값이 높은 정수를 리턴한다.
Math.random()0 ~ 1 범위의 부동소수점의 난수를 생성한다.
profile
원하는 것을 이뤄가는 중 🍀

1개의 댓글

comment-user-thumbnail
2025년 2월 19일

배열 배우기 전에 나온 실습문제라서 사용을 고려하지 않았는데, 배열을 쓰니까 유지보수성이 좋아지네요! 코드 잘 보고 갑니다~

답글 달기