>  기사  >  Java  >  Java는 문자열의 공백을 대체하기 위한 아이디어와 코드를 구현합니다.

Java는 문자열의 공백을 대체하기 위한 아이디어와 코드를 구현합니다.

PHPz
PHPz원래의
2017-04-23 14:53:412479검색

문제 설명:

문자열의 공백을 "%20"으로 바꾸는 함수를 구현하십시오. 예를 들어 문자열이 We Are Happy.이면 대체된 문자열은 We%20Are%20Happy입니다.

Java에서 문자열의 공백을 바꾸는 기본 아이디어:

시간 복잡도를 줄이기 위해 역순으로 바꾸기

구현 계획:

  • String한번 초기화되면 변경할 수 없습니다.

  • StringBuffer를 사용하는 이유는 Niuke.com의 템플릿 때문입니다.

  • 실제 사용에서는 잠금이 없고 효율성이 높기 때문에 단일 스레드에는 StringBuilder를 사용하는 것이 좋습니다.

  • 멀티스레딩에서는 StringBuffer를 사용하세요.

  • 둘 다 내장 함수 는 동일합니다

생각:

  • 원본 문자열을 변경하거나 새 문자열을 생성합니다(원래 문자열인 경우 setLength() 길이를 재설정해야 합니다)

  • 기존 문자열 교체() 사용을 고려하지 마세요.

문자열에서 공백을 바꾸는 Java 코드:

public static String replaceSpace(StringBuffer str){        
        int length = str.length();        int spacenum = 0;        
        //统计空格字符个数
        for(int i=0;i<length;i++){            if(str.charAt(i) == &#39; &#39;)
                spacenum++;
        }        
        int lengthNew = length + spacenum*2;
        str.setLength(lengthNew);        int index = length-1;        int indexNew = lengthNew-1;        for(;index>=0;index--){            
            if(str.charAt(index) == &#39; &#39;){
                str.setCharAt(indexNew--, &#39;0&#39;);
                str.setCharAt(indexNew--, &#39;2&#39;);
                str.setCharAt(indexNew--, &#39;%&#39;);
            }            else{
                str.setCharAt(indexNew--, str.charAt(index));
            }
        }        return str.toString();
    }

자, 이번 글은 여기까지입니다. 여러분의 조언을 환영합니다. 관심이 있으시면 PHP 중국어 홈페이지 온라인 Java 동영상 튜토리얼

을 참고하세요.

위 내용은 Java는 문자열의 공백을 대체하기 위한 아이디어와 코드를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.