2014-11-24 203 views
-1

我試圖使用split方法將String轉換爲String Array。當我嘗試使用reverse方法單獨反轉陣列元素時,reverse方法甚至不會顯示在Eclipse代碼建議中。明確使用reverse,噴出錯誤說明The method reverse() is undefined for the type String。 請幫忙!將字符串轉換爲字符串後無法反轉字符串Array

public class Split { 

    public static void main(String args[]){ 

     String temp; 

     String names="Apple Banana Cabbage Daffodil"; 

     String[] words = names.split(" "); 

     for (int i = 0; i < words.length; i++) { 

      temp = words[i].reverse(); 

     } 

    } 
+1

你想'水仙白菜香蕉Apple'作爲輸出或反轉每個字? – Junaid 2014-11-24 19:29:47

+0

@ Junaid,他在反向之前先分裂。 – Lokesh 2014-11-24 19:31:34

+1

'方法reverse()對於String類型是未定義的 - 這是一條信息錯誤消息。 – 2014-11-24 19:31:58

回答

3

編譯器信息是明確的:reverse不是String的方法。

嘗試:

String reverse = new StringBuilder(words[i]).reverse().toString(); 
+0

是的。有效。 :) – CodeWalker 2014-11-24 19:35:57

1

沒有爲String類型都沒法相反,但你可以做自己喜歡的:

public static void main(String args[]){ 

      String temp; 

      String names="Apple Banana Cabbage Daffodil"; 

      String[] words = names.split(" "); 
      String[] reverseWords = new String[words.length]; 
      int counter = words.length - 1; 
      for (int i = 0; i < words.length; i++) { 
       reverseWords[counter] = new String(words[i]); 
       counter--; 
      } 
      words = reverseWords; 
      for(String i : words) 
      { 
       System.out.print(" " + i); 
      } 

     } 
1

沒有爲String類型定義沒有reverse方法。您可以在List可逆轉的要素使用Collections#reverse

String[] words = names.split(" "); 

List<String> wordList = Arrays.asList(words); 
Collections.reverse(wordList); 
+0

是的。另一個出路。 +1 – CodeWalker 2014-11-24 19:38:58

1

這是因爲字符串沒有辦法反向,你可以使用StringBuilder的代替

像:

public static void main(String[] args) { 

    String temp; 

    String names = "Apple Banana Cabbage Daffodil"; 

    String[] words = names.split(" "); 

    for (int i = 0; i < words.length; i++) { 

     temp = new StringBuilder(words[i]).reverse().toString(); 
    } 
}