'STUDY/JavaCustomeLib'에 해당되는 글 2건

  1. indexOf() 와 subString()을 이용한 문자열 자르기
  2. 문자 갯수 세기

indexOf() 와 subString()을 이용한 문자열 자르기



indexOf 와 subString을 이용한 문자열 나눠서 출력


.
		String s = "Java 개발자 양성을 통한 취업연계과정";

		 int startIdx = 0;
		 int endIdx = 0;
		 while(endIdx> -1){
		 endIdx = s.indexOf(" ", startIdx);
//		 System.out.println(startIdx, endIdx);
		 if(endIdx==-1){
			 System.out.println(s.substring(startIdx));
			 break;
		 }
		 System.out.println(s.substring(startIdx,endIdx));
		 startIdx = endIdx+1; //앞의 루프의 결과값 endIdx는 indexOf를 통해 
		 						// next startIdx = indexOf(" ",endIndex +1)
		 }




문자 갯수 세기



토큰이 몇개 들었는지 세는 메소드
package ch12;

public class LibCountCharacter {
	int count(String str, String token) {
		return count(str, token, 0);
	}

	int count(String str, String token, int pos) {
		int tempPos= str.indexOf(token, pos); // 찾은 인덱스 번호 반환indexOf(찾으려는 문자열,
												// pos - 찾기 시작할 위치 )
				
		if (tempPos == -1) {
			return 0;
		}
		return count(str, token, tempPos + 1) + 1;
	}
}

사용 방법
package ch12;

public class ExerciseString2 {

	public static void main(String[] args) {
		
		String str = "동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세 ";
		
		LibCountCharacter counter = new LibCountCharacter();
		int countNum = counter.count(str, " ");
		
		int[] tokenIdx = new int[countNum];
		int j=0;
		for (int i = 0; i < str.length(); i++) {
			if(i == str.indexOf(" ",i)){
				tokenIdx[j] = i;
				j++;
			}
		}
		for (int k = 0; k < tokenIdx.length; k++) {
			
			System.out.println(str.substring(0, tokenIdx[k]));
			
		}
	}
}