728x90
[조건]
- 개인 정보를 비공개 하는 메소드 작성
[예시]
홍길동 -> 홍**
230607-1234567 -> 230607-*******
010-1234-5678 -> 010-1234-****
[차근 차근 생각해보기]
- 개인 정보 비공개 메소드 만들기
- String 타입의 정보(info)와, int 타입의 비공개 시작 위치(split)을 매개 변수로 넘겨주기
- info의 길이만큼 돌면서 split의 위치부터 *로 치환하기
- return 하여 출력하기
public static void main(String[] args){
String name = "홍길동";
String id = "230607-1234567";
String phone = "010-1234-5678";
System.out.println("이름 = " + hidden(name, 1);
System.out.println("이름 = " + hidden(id, 7);
System.out.println("이름 = " + hidden(phone, 9);
}
public static String hidden(String info, int split){
String result = info.substring(0, split);
String str = info.substring(split);
for(int i = 0; i < str.length(); i++){
result += "*";
}
return result;
}
[반성해야할 점]
for(int i = 0; i < str.length(); i++){
str += "*";
}
- 맨 처음에 위와 같은 코드로 작성했음 (str에 *을 더해줘야 한다고 생각)
- str은 길동이 나오게 되는데 위와 같은 코드로 작성하게 되면 길동* -> 길동** 이런 식으로 반복되게 됨.
- 때문에 result에 *을 더해주어야 str의 길이 만큼 *이 더해지게 된다.
- 즉, 정리하자면 연산할 변수를 잘못 파악하였음😭
728x90
'Java' 카테고리의 다른 글
클래스 - 3 (0) | 2023.06.07 |
---|---|
클래스 - 2 (0) | 2023.06.07 |
클래스 - 1 (0) | 2023.06.07 |
배열 - 신발 사이즈 옵션 출력하기 (0) | 2023.06.07 |
제어문 - 주차 정산 프로그램 만들기 (0) | 2023.06.07 |