2017-12-22 2 views
-4

"abbcccdddd"라는 문자열이 있습니다. 그러면 문자열에있는 문자 수를 얻을 수 있고 "ab2c3d4"로 출력해야합니다. 희망 사항 쉬운 방법으로 효율적인 방법으로 ans를 얻으십시오. 샘플 입력 문자열에서 숫자 문자를 찾아서 인쇄하십시오.

abbaaaccc 샘플 출력 여기 ab2a3c3

+2

원하는 것이 도움이된다면 문제가되지 않습니다. 원하는 프로그램이 있다면 개발자를 고용하십시오. –

+4

연구 과제가 없으므로 숙제를하기 때문에이 주제를 오프 토픽으로 끝내기로했습니다. –

+0

통해 UR 노력을 주셔서 감사합니다 .. – Aakash

답변

0

은 당신의 문제에 대한 자바 기능입니다 :

public static String rleEncode(String toEncode) { 
StringBuffer dest = new StringBuffer(); 
for (int i = 0; i < toEncode.length(); i++) { 
    int runLength = 1; 
    while (i+1 < toEncode.length() && toEncode.charAt(i) == toEncode.charAt(i+1)) { 
     runLength++; 
     i++; 
    } 
    dest.append(runLength); 
    dest.append(toEncode.charAt(i)); 
} 
return dest.toString(); 

}

그냥 매개 변수로 문자열을 넣어

0

이 당신이 기대하는 것을 정확하게 줄 것입니다.

public static void main(String[] args) { 
    String s="abbaaaccc"; 
    StringBuffer result=new StringBuffer(); 
    for(int i=0;i<s.length();i++) { 
     int charCount=1; 
     while(i+1<s.length() && s.charAt(i) == s.charAt(i+1)) { 
      charCount++; 
      i++; 
     } 
     result.append(s.charAt(i)); 
     if(charCount>1) { 
     result.append(charCount); 
     } 
    } 
    System.out.println(result); 

    } 
+0

내 작품 코드를 주셔서 감사합니다 감사합니다! – Aakash

관련 문제