2017-03-31 104 views
0

我需要我的代碼以相反的順序輸出字符串。例如,輸出應該將「代碼」作爲「edoc」返回。這是我迄今爲止所做的。如何使用for循環創建反向字符串?

public String reverseString(String str) { 
String res = ""; 

for (int i = 0; i <= str.length()-1; i++) { 
    res = res + str.charAt(i); 
} 
    return res; 
} 
+0

這是否需要使用'for'循環?這是Java,C#或什麼? –

+0

對不起。它在Java中,是的,它必須使用'for'循環。 – DissolvedMan

+0

只是作爲一個評論,而不是爲'新的StringBuilder(mystring).reverse()。toString()' –

回答

0

你這樣做是你從STR採取的第n個字符,並追加它,使之資源的第n個字符的方法的主要問題。

您可以修復它是這樣的:

public String reverseString(String str) { 
    String res = ""; 

    for (int i = str.length() - 1; i >= 0; i--) { 
     res = res + str.charAt(i); 
    } 
    return res; 
} 
0

你有你的級聯倒退。嘗試:

public String reverseString(String str) { 
    String res = ""; 
    for (int i = 0; i < str.length(); i++) { 
     res = str.charAt(i) + res;   // Add each char to the *front* 
    } 
    return res; 
} 

還要注意更簡單,規範的循環終止條件。