2014-02-13 31 views
-2

所以即時通訊試圖將一個句子中的單詞倒過來:「Hi dog cat」,會變成「iH god tac」。我想知道我是否可以使用即時消息來做到這一點。我可以讓句子本身反轉,但我無法獲得單個詞語來這樣做。有沒有辦法做到這一點與字符串,或者我不得不與字符混淆(這也是令人困惑)?任何幫助表示讚賞逆轉一個單詞中的單詞串

private static String PrintStack(String sentence) 
    { 
     String reverse = ""; 
     String stringReversed = ""; 
     String Last; 
     String First; 

     Stack<String> stack= new Stack<String>(); 

     String words[] = sentence.split(" "); 
     Last = words[words.length-1]; 

     for(int j = 0; j < words.length; j++) 
     { 
      String newWord = words[0+j]; 
      stack.push(newWord); 
      System.out.println(stack); 
     } 

     while(!stack.isEmpty()) 
     { 
      stringReversed += stack.pop(); 
     } 

     System.out.println("Reverse is: " + stringReversed); 


     return reverse; 
    } 
} 
+0

小號單字符字符串或字符。或者實現一個非對象堆棧並使用字符。選一個。 – keshlam

+0

嗨,如果你看右邊(===>),相關鏈接會顯示幾個類似的問題。如果你花10秒鐘搜索SO,你會發現已經回答的類似問題。請閱讀[幫助]和[問]。 – OldProgrammer

回答

0

FYI在Java中它是常規的命名方法,並用小寫首字母的變量,例如,「printStack()。

你的算法不反轉的話自己。我會像這樣做:

private static String reverseWords(String sentence) { 
    String words[] = sentence.split(" "); 
    ArrayList<String> reversed = new ArrayList<String>(); 
    for (String word : words) { 
     reversed.add(new StringBuilder(word).reverse().toString()); 
    } 
    StringBuilder reversedSentence = new StringBuilder(); 
    for (String word : reversed) { 
     reversedSentence.append(word); 
     reversedSentence.append(" "); 
    } 
    return reversedSentence.toString().trim(); 
} 

希望這有助於

--mark

相關問題