Random() 함수를 이용해서 아이디, 이름을 생성해보자.

지난번 포스팅에서 처럼 엑셀로 생성해서 csv 파일로 밀어넣으려고 했는데 데이터를 생각보다 많이 만들어야 해서 그냥 프로그래밍으로 짜기로 했다.

아래 예시는 groovy로 짜본 예시이다. 자바도 동일하니 활용하면 된다.

 

<규칙>

randomID      : 알파벳(1자리) + 알파벳, 숫자 조합(4자리) + 숫자3자리

randomName : 한글성(1자리) + 한글(2자리)

 

def alpabets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
def charaters = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9']
def sungchars = ["김", "이", "박", "최", "정", "강", "조", "윤", "장", "임", "한", "오", "서", "신", "권", "황", "안",
            "송", "류", "전", "홍", "고", "문", "양", "손", "배", "조", "백", "허", "유", "남", "심", "노", "정", "하", "곽", "성", "차", "주",
            "우", "구", "신", "임", "나", "전", "민", "유", "진", "지", "엄", "채", "원", "천", "방", "공", "강", "현", "함", "변", "염", "양",
            "변", "여", "추", "노", "도", "소", "신", "석", "선", "설", "마", "길", "주", "연", "방", "위", "표", "명", "기", "반", "왕", "금",
            "옥", "육", "인", "맹", "제", "모", "장", "남", "탁", "국", "여", "진", "어", "은", "편", "구", "용"]
def namechars = ["가", "강", "건", "경", "고", "관", "광", "구", "규", "근", "기", "길", "나", "남", "노", "누", "다",
        "단", "달", "담", "대", "덕", "도", "동", "두", "라", "래", "로", "루", "리", "마", "만", "명", "무", "문", "미", "민", "바", "박",
        "백", "범", "별", "병", "보", "빛", "사", "산", "상", "새", "서", "석", "선", "설", "섭", "성", "세", "소", "솔", "수", "숙", "순",
        "숭", "슬", "승", "시", "신", "아", "안", "애", "엄", "여", "연", "영", "예", "오", "옥", "완", "요", "용", "우", "원", "월", "위",
        "유", "윤", "율", "으", "은", "의", "이", "익", "인", "일", "잎", "자", "잔", "장", "재", "전", "정", "제", "조", "종", "주", "준",
        "중", "지", "진", "찬", "창", "채", "천", "철", "초", "춘", "충", "치", "탐", "태", "택", "판", "하", "한", "해", "혁", "현", "형",
        "혜", "호", "홍", "화", "환", "회", "효", "훈", "휘", "희", "운", "모", "배", "부", "림", "봉", "혼", "황", "량", "린", "을", "비",
        "솜", "공", "면", "탁", "온", "디", "항", "후", "려", "균", "묵", "송", "욱", "휴", "언", "령", "섬", "들", "견", "추", "걸", "삼",
        "열", "웅", "분", "변", "양", "출", "타", "흥", "겸", "곤", "번", "식", "란", "더", "손", "술", "훔", "반", "빈", "실", "직", "흠",
        "흔", "악", "람", "뜸", "권", "복", "심", "헌", "엽", "학", "개", "롱", "평", "늘", "늬", "랑", "얀", "향", "울", "련"]
def randomID = ""
def randomName = ""
def insertSql = ""

Random rn = new Random()
for (int i=0; i<10; i++) {
    randomID = alpabets[rn.nextInt(alpabets.size())] + charaters[rn.nextInt(charaters.size())] + charaters[rn.nextInt(charaters.size())] + charaters[rn.nextInt(charaters.size())] + charaters[rn.nextInt(charaters.size())] + rn.nextInt(1000)
    randomName = sungchars[rn.nextInt(sungchars.size())] + namechars[rn.nextInt(namechars.size())] + namechars[rn.nextInt(namechars.size())]
    log.warn "ID: ${randomID}, Name: ${randomName}"
}

<결과>

 ID: dk1hc486, Name: 채길탁
 ID: pjlzb658, Name: 송만윤
 ID: ejx6b582, Name: 변손권
 ID: m02a6484, Name: 천범병
 ID: ethfv925, Name: 석반잎
 ID: azmjt392, Name: 함흔초
 ID: voh6l137, Name: 노강탐
 ID: yw1d6138, Name: 진담상
 ID: k4sl7171, Name: 용헌누
 ID: qc4ar207, Name: 신빛추

+ Recent posts