2013-12-21 4 views
0
예를 들어

,문자열에서 문자의 위치를 ​​변경하는 방법은 무엇입니까?

String a = "horse" ; String b = "eshor" ; 
내가 문자열 B에서 E와 H의 위치를 ​​변경할 수있는 방법

?

참고 : String builder를 사용할 수 없습니다. 나는 그들의 위치에 의해 그들을 바꾸고 싶다. 나는 첫 번째 등장 인물을 밝힐 필요가있다. eshor

새로운 단어 : 자바 hseor

+1

'문자열 a'의 의미는 무엇입니까? –

+0

원래 단어 만 표시하면됩니다. – morgothraud

+0

두 개의 문자를 교환하는 방법을 정말 묻고 있습니까? 문자를 어떻게 지정하고 싶습니까? 색인으로? 캐릭터? 둘 이상의 "e"가 있다면 어떨까요? – dansalmo

답변

2

문자열은 불변

단어을 단행 :

출력은 같은 것을해야한다. 따라서 기술적으로 문자열 b에서는 문자의 공백을 바꿀 수 없습니다.

유일한 해결 방법은 char[]

    1. 변환 문자열
    2. char[]에 플립 문자이다 순서가 char[]
  • +2

    StringBuilder를 사용하여 프로세스를 단순하게 만들 수 있지만 개념은 같습니다 ... – MadProgrammer

    0
    String newWord = word.replace("e","_e_").replace("h","e").replace("_e_","h"); 
    
    0

    귀하의 질문이 모호로 새로운 문자열을 생성, 그래서 나는 너의 목적이 실제로 무엇인지 알 수 없다.

    String 객체는 변경할 수 없기 때문에 변경할 수 없습니다. "나는 문자열 작성기를 사용할 수 없습니다"라는 의미라면 String 개체 나 문자열 캐스터를 사용할 수 없다는 것입니다. 다음과 같이 문자를 직접 조작 할 수 있습니다.

    char[] cycleChars(String str, int fIndex, int sIndex){ 
        char[] cArr = str.toCharArray(); 
        char cTemp; 
         cTemp = cArr[fIndex]; 
         cArr[fIndex] = cArr[sIndex]; 
         cArr[sIndex] = cTemp; 
         return cArr; 
    } 
    

    아마도 위와 같은 간단한 op 메소드 만 있으면됩니다.

    관련 문제