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 |