package ex08;
// String 관련 함수 다 사용해보기
public class Str01 {
public static void main(String[] args) {
// 1. 문자열의 길이 (할아버지 12자만 보내세요.)
String s1 = "abcd";
System.out.println("s1 length : " + s1.length());
// 2. 특정 index의 문자 확인하기
String s2 = "abcd";
System.out.println("s2 charAt(2) : " + s2.charAt(2));
// 3. 문자열 비교
System.out.println("abcd".equals("abcd")); // 문자열은 equals로 비교
// 4. 문자열 추출
String s3 = "abcd";
System.out.println(s3.substring(0, 1)); // 첫번째 인덱스가 0이 맞는지, end 인덱스가 마지막이 맞는지
// 5. 문자열 검색
String s4 = "abcd";
System.out.println(s4.indexOf("c")); // 인덱스 출력
// 6. 문자열 포함 여부
String s5 = "abcd";
System.out.println(s5.contains("k")); // 있으면 true 없으면 false
// 7. 문자열 대소문자 변경
String s6 = "Abcd";
System.out.println(s6.toUpperCase()); // 전부 대문자로 변경
System.out.println(s6.toLowerCase()); // 전부 소문자로 변경
// 8. 문자열 치환 (replace, replaceAll)
int age = 10;
String s7 = "내 나이는 $age고 난 내 나이 $age가 좋아 !".replace("$age", age + "");
System.out.println(s7);
// 9. 앞뒤 공백 제거(trim)
String s8 = "abcd ";
System.out.println(s8.trim());
// 10. 문자열 분리 (split)
String s9 = "ab:cd:ef";
String[] r9 = s9.split(":");
System.out.println(r9[0]);
System.out.println(r9[1]);
System.out.println(r9[2]);
}
}

package ex08;
public class Str02 {
public static void main(String[] args) {
String nums = """
031)533-2112,
02)223-2234,
02)293-4444,
051)398-3434,
02)498-3434,
051)398-3434,
043)3222-3434,
""";
// 부산에 사는 고객은 몇 명인가요 ?
// 1. split(,)으로 String[] 옮기기
String[] splitNums = nums.split(",\n"); // 콤마(,)와 엔터를 기준으로 나누어 배열에 저장
for (int i = 0; i < splitNums.length; i++) { // 배열의 길이만큼 반복
System.out.println(splitNums[i]);
}
// 2. splitNums[] for문 돌면서 indexOf(")") 위치 찾고, substring으로 지역번호 추출해서 지역번호만 newNums[]로 옮기기
String[] newNums = new String[splitNums.length]; // 지역 번호 저장할 배열 생성
for (int i = 0; i < splitNums.length; i++) { // 배열 길이만큼 반복
int a = splitNums[i].indexOf(")"); // 지역번호의 ) 인덱스 값을 저장할 변수 생성
// System.out.println(a);
String b = splitNums[i].substring(0, a); // )위치 찾아서 자르기
//System.out.println(b);
newNums[i] = b; // for문 돌면서 ) 이전까지 값 저장하기
//System.out.println(newNums[i]);
}
// 3. newNums[] for문 돌면서 051 지역번호를 equals로 확인 or contains로 확인하여 고객수를 int count변수에 누적
int count = 0; // 051이 맞는지 확인하는 count 변수
for (int i = 0; i < newNums.length; i++) { // 배열의 길이만큼 반복
if (newNums[i].equals("051")) { // .equals를 사용하여 051이 맞다면 count를 1증가, 아니면 다시 for문으로 돌아가서 반복
count++;
}
}
// 4. count 출력
System.out.println(count);
}
}

Share article