2014-10-31 39 views
0

因此,我必須編寫一個程序,到目前爲止,我已經在讓程序做我想做的事情上有一些運氣。首先,我應該編寫一個java程序,它需要一個像「tan」這樣的詞,然後交換a和n給你「tna」。儘管如此,如果我將Aardvark這個詞放入程序中,它會正確地交換所有的a,但它會在最終輸出中切斷k。如果有人可以幫助,那將非常感激。爭奪詞如果字母「a」存在,它將切換到以前的位置

String word = "aardvark"; 
    String combined = ""; 
    for (int i = 0, j = 1; i < word.length() && j < word.length(); i++, j++) { 

     if (word.substring(i, j).equals("a")) { 
      combined = combined + word.substring(i + 1, j + 1)+ word.substring(i, j); 
      i++; 
      j++; 

     } 

     else { 
      combined = combined + word.substring(i, j); 
     } 

    } 
    System.out.print(combined); 
+3

什麼是 「aadvark」 的期望的輸出? – kiruwka 2014-10-31 20:06:25

+0

它應該是「aardvarak」作爲期望的輸出 – tcrowson 2014-10-31 22:23:56

回答

1

這你想要做什麼,保持簡單:

 String word = "aardvark"; 
     char[] symbols = word.toCharArray(); 

     for (int i = 0; i < symbols.length - 1; ++i) { 
      if (symbols[i] == 'a') { // have to swap with the next symbol 
       symbols[i] = symbols[i + 1]; 
       symbols[i + 1] = 'a'; 
       ++i; 
      } 
     } 

     String scrambled = new String(symbols); 
     System.out.println("scrambled = " + scrambled); // aardvrak 
+0

非常感謝你! – tcrowson 2014-10-31 22:19:09