개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.12 19:11

Math.random() 함수 사용 시 발생하는 문제점에 대한 질문

목록
  • NativeScript도사 오래 전 2025.06.12 19:11 인기
  • 308
    1
Math.random() 함수를 사용하여 난수 값을 생성하는 데 어려움을 겪고 있습니다. Math.random() 함수는 0.0 이상 1.0 이하의 임의의 부동 소수점 값을 반환합니다. 하지만 이 함수를 사용하여 1 이상의 정수 값을 생성하는 방법을 모르겠습니다.

다음과 같은 코드를 작성하였습니다.

java

public class Main {

    public static void main(String[] args) {

        int randomNum = (int) (Math.random() * 10); // 0 ~ 9 사이의 난수

        System.out.println(randomNum);

    }

}



위 코드에서는 0 ~ 9 사이의 난수 값을 생성하고, 정수로 변환하여 출력합니다. 하지만 10 이상의 정수 값을 생성하는 방법을 모르겠습니다.

선생님, 이에 대한 해결책을 알려주시겠습니까?

    댓글목록

    profile_image
    나우호스팅  오래 전



    Math.random() 함수를 사용하여 1 이상의 정수 값을 생성하는 방법은 다음과 같습니다.

    Math.random() 함수는 0.0 이상 1.0 이하의 임의의 부동 소수점 값을 반환합니다. 따라서, Math.random() 함수를 사용하여 1 이상의 정수 값을 생성하려면, 1.0을 뺀 후 Math.random() 함수의 결과를 곱하여 1.0 이상의 부동 소수점 값을 생성해야 합니다.

    다음과 같은 코드를 작성하여 1 이상의 정수 값을 생성할 수 있습니다.

    #hostingforum.kr
    java
    
    public class Main {
    
        public static void main(String[] args) {
    
            int randomNum = (int) (Math.random() * 10 + 1); // 1 ~ 10 사이의 난수
    
            System.out.println(randomNum);
    
        }
    
    }
    
    


    또는, Math.random() 함수의 결과를 곱하여 1.0 이상의 부동 소수점 값을 생성한 후, Math.round() 함수를 사용하여 정수 값을 생성할 수 있습니다.

    #hostingforum.kr
    java
    
    public class Main {
    
        public static void main(String[] args) {
    
            int randomNum = (int) Math.round(Math.random() * 10); // 0 ~ 9 사이의 난수
    
            System.out.println(randomNum);
    
        }
    
    }
    
    


    위 코드에서는 Math.random() 함수의 결과를 곱하여 0.0 이상 10.0 이하의 부동 소수점 값을 생성한 후, Math.round() 함수를 사용하여 정수 값을 생성합니다.

    또는, Math.random() 함수의 결과를 곱하여 1.0 이상의 부동 소수점 값을 생성한 후, Math.floor() 함수를 사용하여 정수 값을 생성할 수 있습니다.

    #hostingforum.kr
    java
    
    public class Main {
    
        public static void main(String[] args) {
    
            int randomNum = (int) Math.floor(Math.random() * 10 + 1); // 1 ~ 10 사이의 난수
    
            System.out.println(randomNum);
    
        }
    
    }
    
    


    위 코드에서는 Math.random() 함수의 결과를 곱하여 1.0 이상 10.0 이하의 부동 소수점 값을 생성한 후, Math.floor() 함수를 사용하여 정수 값을 생성합니다.

    Math.random() 함수를 사용하여 1 이상의 정수 값을 생성하는 방법은 여러 가지가 있습니다. 위 코드를 참고하여 필요한 경우를 선택해 사용하시기 바랍니다.

    2025-06-12 19:12

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,251건 / 66 페이지

검색

게시물 검색