개발자 미니민의 개발스터디

[JAVA] 자바 - Stirng 클래스 Quiz 풀이 모음(2) ⭐⭐

by mini_min

[JAVA]
자바 - Stirng 클래스

Quiz 풀이 모음

✔️ 계좌번호 연속 만들기

계좌번호를 연속으로 만들기 위해 할 일, 메소드 호출할수록 뒤에 카운트가 늘어나야함.

 

class Bank 
	private String accountno = "020-08-0000170";
    // 카운트를 올리기 위해서는, 문자열에서 "-" 하이픈 앞으로는 쭉 빼버리기
    
    Stirng s;
    int n;
    
    public String generate() 
    
    //020-08- 전후로 나누기
    String s1 = accountno.substring(0, accountno.lastIndexOf("-")+1) ; 
    
    String s2 = accountno.substring(accountno.lastIndexOf("-")+1);
    
    n = Integer.ParseInt(s2)+1;
    
 	accountno = s1 + String.format("%07d", n);
    
    return accountno;

 

💡 문제 해결하기
하이픈을 기점으로 앞뒤를 나눌 생각을 할 것 !
맨 뒤에 문자열은 정수형으로 바꾸면서 동시에 +1을 해주기! 
그럼 이후에 메소드 호출 될 때 마다, 바뀐 문자열이 나오고 문자열을 다시 정수형으로 바꾸고 +1 해줘서 매번 새로운 계좌 번호가 나온다!

 

 

 

✔️ StringBuilder 로 패스워드 만들기(가변적)

패스워드에 들어갈 문자열들 정의하기. 난수 발생시킬 때마다, substring 으로 위치 출력하는게 좋을 듯

 

public state Stirng pw() 
	//10자리 무작위 패스워드
    // 가변적인 String 이니까 스트링빌더 사용
  
  StringBuilder sb1 = new StringBuilder();
  String s = "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopadsfghjklzxcvbnm!@#$%^&*_+-";
  int n;
  
  for(int i=0; i<10; i++)
  	n = (int)(math.random()*s.length));
    //추가추가추가하기
    sb1.append(s.substring(n,n+1));
    
    return sb1.toString; 
    
    //String빌더 값은 스트링으로 다시 바꿔야함.

 

💡 문제 해결하기
가변적인 문자열을 받아야하기 때문에, 스트링빌더를 사용해야한다. 먼저, 패스워드가 될 문자들 중에서 무작위로 발생하는 n번째 위치(난수) 를 문자열에서 추출하여 append 한다. (스트링빌더에서 추가는 append!!)
스트링빌더에 추가추가추가 하고, 이후 문자열로 바꾸기!

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기