티스토리 뷰


- java.lang.Math.random() 을 이용하여 랜덤 숫자 만들기

Math.random() 메서드는 0.0 과 1.0 사이의 값 중 하나의 double 값을 생성한다.

만약 0~9 사이의 랜덤한 수를 구하고 싶다면

import java.lang.Math;

System.out.println((int)(Math.random()*10));

(int)형으로 케스팅을 하지않으면 "2.4575805934491237" 이런식의 더블형 이 리턴 된다.

 

 

import java.util.Random 클래스를 이용한 임의의 숫자 만들기

import java.util.Random;

Random rnd = new Random();

// 0~9까지의 정수를 랜덤하게 출력

int i = rnd.nextInt(10);

// 0.0f 에서 1.0f 까지의 실수를 랜덤하게 출력

float f = rnd.nextFloat();

// true(참), false(거짓) 중의 하나를 랜덤하게 출력

Boolean b = rnd.nextBoolean();

 

 

- A~Z 사이의 문자를 랜덤하게 뽑기

1. A 부터 Z 까지의 문자의 수는 26 개이다..

2. 아스키코드는 65 ~ 90 까지가 영문대문자, 97~122 까지가 영문소문자

-> 26까지의 랜덤 한 수를 구하고 그 수에 65 라는 수를 더한 후 (char)형으로 케스팅을 하면 랜덤 한 영문대문자를 뽑아낼 수 있다.

import java.lang.Math;

System.out.println((char)((int)(Math.random()*26)+65)); // 랜덤 한 대문자

System.out.println((char)((int)(Math.random()*26)+97)); // 랜덤 한 소문자

 

 

 

- 20자리 영문+숫자 랜덤코드 만들기

import java.util.Random;

Random rnd =new Random();

StringBuffer buf =new StringBuffer();

for(int i=0;i<20;i++){

    // rnd.nextBoolean() 는 랜덤으로 true, false 를 리턴. true일 시 랜덤 한 소문자를, false 일 시 랜덤 한 숫자를 StringBuffer 에 append 한다.

    if(rnd.nextBoolean()){

        buf.append((char)((int)(rnd.nextInt(26))+97));

    }else{

        buf.append((rnd.nextInt(10)));

    }

}

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
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
글 보관함