[Java] 임의의 정수 만들기

         임의의 정수 만들기 → 난수     

    • random() → 0 <= random() <1 에 있는 값을 나타냄
    • 0.0 ≤ Math.random() < 1.0 → 0.0과 1.0 사이의 임의의 double값을 반환
    • 원하는 범위에 있는 난수를 구하기
    // 1~3사이 정수
    
    //#1. 각 변에 3을 곱한다
    	 0.0 <= Math.random() < 3.0            // 0.0 ~ 2.999...
    //#2. 각 변을 int 형으로 형변환
    	0 <= (int)(Math.random() * 3) < 3      // 0 ~ 2
    //#3. 원하는 범위는 1~3사이. 따라서 각 변에 1씩 더한다
    	1 <= (int)(Math.random() * 3) +1 < 4   // 1, 2, 3

    (int)(Math.random() * 구하려는 범위 숫자) + 처음 시작하려는 숫자

    더보기

    예제1 ) 1~10 사이의 난수를 10개 출력하시오

    //  1, 2, 3, 4, 5, 6, 7, 8, 9, 10
    for(int i=1; i<=10; i++) {
    		System.out.println(Math.random());	// 0.0<=x<1.0
    		System.out.println(Math.random()*10);	// 0.0<=x<10.0
    		System.out.println((int)(Math.random()*10));	// 0<=x<10, 0~9 범위
    		System.out.println((int)(Math.random()*10)+1);	// 1<=x<11, 1~10 범위
    	}

     

    예제2) -5 ~ 5 사이의 난수를 10개 출력하시오

    //	-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5  => 11개
    	for(int i=1; i<=10; i++) {
    		System.out.println((int)(Math.random()*11)); //0<=x<11, 0~10
    		System.out.println((int)(Math.random()*11)-5); //-5<=x<6, -5~5
    	}
    더보기
    public static void main(String[] args) {
    
    		for (int i = 1; i <= 6; i++) {
    			int lotto = (int) (Math.random() * 45) + 1;
    			System.out.println(lotto + " ");
    		}
    	}

    댓글