본문 바로가기

언어/Java

if 조건문, Math.random() 함수

public class Condition{

    public static void main(String []args){

        //난수발생

        //int a = 4;

        int a = (int)(Math.random() * 100); //난수를 발생시켜줌 그 값의 범위는 실수값 0.0<= a < 1.0

                                                              // -> 강제로 int로 바꿔서 0<= a < 1로 범위가 바뀜

        System.out.println("a=" + a);

 

        if(a%2 == 1){

             System.out.println("홀수");

             System.out.println("제곱값은 " + (a * a));

        }

 

        if(a%2 == 1){

             System.out.println("홀수");

        }else{

             System.out.println("짝수");

        }

     }

}

결과

※ (int)(Math.random()*45+1); VS (int)(Math.random()*46);

    (int)(Math.random()*45+1):
    이 코드는 1 이상 45 이하의 정수를 반환합니다. 즉, 1, 2, 3, ..., 44, 45 중에서 랜덤하게 하나를 선택합니다.

    (int)(Math.random()*46):
    이 코드는 0 이상 45 이하의 정수를 반환합니다. 즉, 0, 1, 2, 3, ..., 44, 45 중에서 랜덤하게 하나를 선택합니다.

    따라서 두 코드 모두 랜덤한 정수를 얻을 수 있지만, 첫 번째 코드는 1을 최솟값으로 갖고, 두 번째 코드는 0을 최솟값으로 갖습니다. 만약 0을 허용하고 싶지 않고 1부터 시작하는 정수를 얻고자 한다면, (int)(Math.random()*45+1)을 사용해야 합니다. 반면에, 0을 포함해서 정수를 얻고자 한다면, (int)(Math.random()*46)을 사용하면 됩니다.

'언어 > Java' 카테고리의 다른 글

if 조건문, float  (0) 2023.07.25
if 조건문, java.util.Scanner  (0) 2023.07.25
IDE 아닌 방법으로 Java 사용할 때 경로 지정하기  (0) 2023.07.25
연산자  (0) 2023.07.24
자료형  (0) 2023.07.24