2013-12-16 36 views

回答

3

您每次都要拿i個字母,每次您應該帶上索引0的第一個字母。更改

firstLetter = word.charAt(i); 

firstLetter = word.charAt(0); 
+0

非常感謝 – Phineas

+0

我只是確保,所以+ = firstletter這個詞讓單詞轉到右邊的第二個字母。 – Phineas

+0

不完全。做'word = word.substring(1,word.length());''有效地取掉這個單詞的第一個字母,你已經在這行中確定了'firstLetter = word.charAt(i);' 。然後'word + = firstLetter;'有效地將第一個字母追加到單詞的末尾。總之,這三條線創造了「環繞」換擋效果,這是您的目標。 – rgettman

1

像這樣的事情?

word = "test"; 
newWord = word.substring(1) + word.substring(0, 1); 
0
for (int i = 0; i < word.length(); i++) { 
     firstLetter = word.charAt(0); 
     word = word.substring(1, word.length()); 
     System.out.println(firstLetter + word); 

     word += firstLetter; 
    } 
0

一個悅目不同的方法:離開這個單詞保持原樣,並通過基於字符串的排列迭代。畢竟:「omputerc」只是[omputer] + [c],這是[c] [omputer]交換;下一次迭代是 「mputerco」 這僅僅是[mputer] + [CO]或[mputer]交換[合作],等等:

String head, tail; 
for (int i = 0, last = word.length()-1; i<last; i++) { 
    head = word.substring(0,i); 
    tail = word.substring(i,last); 
    System.out.println(tail + head); 
} 

我們離開這個單詞保持原樣,搶頭和尾子串,並以相反的順序打印它們,從而生成您所需要的。

相關問題