[자바 (JAVA)] 28. String

귤's avatar
Feb 13, 2025
[자바 (JAVA)] 28. String

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]); } }
notion image

예제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명입니다"); } }
정답 - 선생님ver

2. 현재 시간, 날짜, 연도, 월 출력하기

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()); } }
notion image
 
Share article

gyul