티스토리 뷰

java.lang.Math : Math.random();

  • MIN ~ MAX 까지 랜덤 숫자를 출력하자(int)
    • (int)(Math.random() * (MAX - MIN + 1)) + MIN;
  • START값부터 X 개를 출력하자(int)
    • (int)(Math.random() * X) + START;

java.util.Random : Random r = new Random();

  • 0~NUM-1 까지 출력하자
    • r.nextInt(NUM);    // 0 <= r.nextInt(argument) < argument
  • START값부터 X개를 출력하자
    • r.nextInt(X) + START;

 

다음 코드를 통해 사용법을 살펴보겠다.

package com.test02;

import java.util.Random;

public class MTest01 {

	public static void main(String[] args) {
		// random01();
		//random02();
		random03();
	}

	public static void random01() {
		// 0.0 <= Math.random(); < 1.0
		double d = Math.random();

		System.out.println(d);
	}

	public static void random02() {
		// (int)(Math.random()*(max - min + 1)) + min;

		int max = 10;
		int min = 5;
		int r = (int) (Math.random() * (max - min + 1) + min);
		System.out.print(r);
	}
	
	public static void random03() {
		Random r = new Random();
		System.out.println(r.nextInt(10));	//0 <= Random.nextInt(argument) < argument
	}

}

 

예제1) 정답 :

package com.test02;

import java.util.Random;
import java.util.Scanner;

public class RandomCube {

	/*
	 * 1. 5*5 숫자를 출력하자 (0~9 사이의 랜덤한 숫자 하나하나를)
	 * 
	 * 2. 만들어진 전체 숫자의 평균을 출력하자.
	 */
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		System.out.println("cube의 크기를 입력하세요! : ");
		int size = sc.nextInt();
		System.out.println("전체 숫자의 평균은 : " + (double) randcube(size) / (size * size) + " 입니다.");

	}

	public static int randcube(int size) {
		int sum = 0;
		Random r = new Random();

		for (int i = 0; i < size; i++) {
			for (int j = 0; j < size; j++) {
				int num = r.nextInt(10);
				System.out.print(num + " ");
				sum += num;
			}
			System.out.println();
		}

		return sum;
	}
}

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함