삽질의 현장/- Java

[삽잡이::java] 이름을 랜덤하게 생성해보자! 유니코드 랜덤 생성!

shovelman 2016. 6. 8. 21:58


살면서 Random() 메서드를 사용하여 재미난 일들을 할 수 있습니다.


여러분이 만약... 

Random한 이름을 반복적으로 생성해야한다면 어떻게 해야할까?


중복성을 피한 이름...

그 이름이 어느 이름이던 상관없이 오직 세글자!?


유니코드를 통해 만들 수 있는 한글은 

이론적으로 160만 자 정도 나온다고 하는데,


현대 한글 낱자로 조합 가능한 글자 수는 ...

놀라지 마십쇼...


무려 11172자라고 한다  우와!!


[출처_ 나무위키(링크를 통해 확인하셔도 됩니다)]


아무튼....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class RandomGame {
    private String sUserName;
    
    public String getSUserName()
    {
        return this.sUserName;
    }
    
    public void setUserName()
    {
        StringBuffer bName = new StringBuffer();
        int iNameSize = 3;
        
        for(int i = 0; i <iNameSize; i++){
            char ch = (char)((Math.random() * 11172+ 0xAC00);
            
            bName.append(ch);
            this.sUserName = bName.toString();
        }
    }
}
cs


유니코드에서 16진수로 0xAC00은 

한글 ''를 의미한다고 합니다. 


그래서 Random 함수로 장난질좀 해봤습니다.


요래 만들고... (귀찮아서 Setter는 생략...)



1
2
3
4
5
6
7
8
9
10
11
12
13
public class HelloSap {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        RandomGame rg = new RandomGame();
        String sRandomName = "";
 
        rg.setUserName();
        sRandomName = rg.getSUserName();
 
        System.out.println(sRandomName);
    }
}
cs


어디 한번 확인해봅시다!



ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ



'횧덲쥤' 씨 안녕하세요? 하하...


아무튼... 이렇게 재미나게 Random 메서드를 통해

유니코드 랜덤 생성을 해보았습니다.


굳~