2013-12-21 67 views
0

例如,如何更改字符串中字符的位置?

String a = "horse" ; String b = "eshor" ; 

我怎樣才能改變E和H的串B中的位置?

注意:我無法使用String構建器。我想通過他們的立場來改變他們。我需要揭示第一個角色。

輸出應該是這樣的:

洗牌字eshor

新詞hseor

+1

這裏'String a'的相關性是什麼? –

+0

只是爲了顯示原始單詞。 – morgothraud

+0

你真的在問如何交換兩個字符嗎?如何指定字符?按索引?按性格?如果有多個「e」呢? – dansalmo

回答

2

字符串在java中是不可變的。因此,在技術上,在字符串b中,您不能交換字符的空格。

唯一的解決方法是

  1. 字符串轉換爲char[]
  2. 翻轉字符在char[]
  3. 創建與重新排序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; 
} 

也許你需要的只是一個簡單的操作方法,比如上面的方法。

相關問題