1. String 함수 다 사용해보기
length, charAt, substring, indexOf, contains, toUpperCase, toLowerCase, replace, trim, split
package ex08;
// String 함수 다 사용해보기
public class Str01 {
// ssarmango
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(1, 3));
// 5. 문자열 검색
String s4 = "abcd";
System.out.println(s4.indexOf("c"));
// 6. 문자열 포함 여부
String s5 = "abcd";
System.out.println(s5.contains("k"));
// 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";
String[] r9 = s9.split(":");
System.out.println(r9[0]);
System.out.println(r9[1]);
}
}

예제1. - 하는 중
부산에 사는 고객은 몇 명인가요?
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(,)로 splitNums[]로 옮기기
String[] splitNums = nums.split(",");
// for (int i = 0; i < 7; i++) {
// System.out.println(splitNums[i]);
// }
// 2. splitNums[] for문 돌면서 indexOf(")") 위치 찾아서 substring으로 지역번호 추출해서 지역번호만 newNums[]로 옮기기
// - splitNums[0] = 031)533-2112 ------------------- 목표 : 위치 찾아서 출력!
// 2-1. splitNums[0]의 지역번호 추출해보기 --O
// 2-2. splitNumbs[0]의 ) 위치 찾기 -- indexOf(")") - 3
// 2-3. splitNums[0]의 ) 위치로 substring(0, 3)
String s1 = "031)533-2112";
System.out.println(s1.substring(0, 3));
System.out.println(s1.indexOf(")"));
System.out.println(s1.substring(3, 4));
String s2 = "02)223-2234";
System.out.println(s2.substring(0, 2));
System.out.println(s2.indexOf(")"));
System.out.println(s2.substring(2, 3));
String s3 = "02)293-4444";
System.out.println(s3.substring(0, 2));
System.out.println(s3.indexOf(")"));
System.out.println(s3.substring(2, 3));
String s4 = "051)398-3434";
System.out.println(s4.substring(0, 3));
System.out.println(s4.indexOf(")"));
System.out.println(s4.substring(3, 4));
String s5 = "02)498-3434";
System.out.println(s5.substring(0, 2));
System.out.println(s5.indexOf(")"));
System.out.println(s5.substring(2, 3));
String s6 = "051)398-3434";
System.out.println(s6.substring(0, 3));
System.out.println(s6.indexOf(")"));
System.out.println(s6.substring(3, 4));
String s7 = "043)3222-3434";
System.out.println(s7.substring(0, 3));
System.out.println(s7.indexOf(")"));
System.out.println(s7.substring(3, 4));
// 2-4. 지역 번호만 newNums[]로 옮기기
// 3. newNums[] for문 돌면서 051 지역번호를 equals로 확인 or contains로 확인하여 고객수를 int count변수에 누적
// 4. count 변수 출력
System.out.println("부산에 사는 고객은 2명입니다");
}
}
정답 - 선생님ver2. 현재 시간, 날짜, 연도, 월 출력하기
package ex08;
import java.time.LocalDate;
import java.time.LocalDateTime;
public class LDate01 {
public static void main(String[] args) {
// 1. 현재 날짜
LocalDate nowDate = LocalDate.now(); // 캡슐화
System.out.println(nowDate);
// 2. 현재 시간
LocalDateTime nowDateTime = LocalDateTime.now();
System.out.println(nowDateTime);
// 3. 날짜 더하기/빼기
LocalDate plusDays = nowDate.plusDays(100); // 빼기는 마이너스 붙이면 됨
System.out.println(plusDays);
// 4. 주 더하기/빼기
LocalDate plusWeek = nowDate.plusWeeks(1);
System.out.println(plusWeek);
// 5. 월 더하기/빼기
LocalDate plusMonths = nowDate.plusMonths(1);
System.out.println(plusMonths);
// 6. 현재날짜의 연도, 월, 요일 확인하기
System.out.println(nowDate.getYear());
System.out.println(nowDate.getMonth());
System.out.println(nowDate.getDayOfMonth());
}
}

Share article