public class Ex03_StringBuilder {
	public static void main(String[] args) {
    	Test3 tt = new Test3();
        String s;
        
        s = tt.generatePwd();
        System.out.println(s);
        
        s = tt.generatePwd();
        System.out.println(s);
    }
}
class Test3 {
	// 10자리 임시 패스워드 만들기
    public String generatePwd() { // 가변적인 문자열이므로 Builder나 Buffer를 써야함.
    	StringBuilder pw = new StringBuilder();
        String s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*-+abcdefghijklmnopqrstuvwsyz";
        // 원하는 문자를 다 넣어놓음! 저 안에서만 나온다.
        int n;
        
        for(int i=0; i<10; i++) {
        	n = (int)(Math.random() * s.length());
            // 0<=난수<s의 길이
			// String s에 있는 것중에 하나를 임의적으로 뽑아 그 위치를 숫자로 반환
            pw.append(s.substring(n, n+1));
			// 그 위치에 해당하는 문자를 pw에 10자리가 될때 까지 붙여준다.
        }
        
        return pw.toString();
        
    }
}

실행할때마다 다른 난수가 생성됨을 볼 수 있다.

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0720_Ex05_Calendar : Java API  (0) 2021.07.20
0720_Ex04_StringTokenizer : Java API  (0) 2021.07.20
0720_Ex02_StringBuilder : Java API  (0) 2021.07.20
0720_Ex01_String : Java API  (0) 2021.07.20
0719_Ex08_Java API : math.BigDecimal  (0) 2021.07.19

+ Recent posts