2014-01-21 48 views
-3

我試圖刪除給定字符串中的空格,並且,雖然我已經實現了這一點,但返回的字符串顯示爲反轉。任何人都可以解釋爲什麼?爲什麼這個循環反轉Java中的字符串

public String removeSpaces(String cadena) { 
    String noSpace=""; 
    for (int i = 0; i < cadena.length(); i++) { 
     if (cadena.charAt(i) == ' ') { 
      noSpace=noSpace; 
     }else{ 
      noSpace=cadena.charAt(i)+noSpace; 
     } 
    } 
    return noSpace; 
} 
+0

' noSpace = cadena.charAt(i)+ noSpace;'=>'noSpace = noSpace + cadena.charAt(i);' - 你也可以做'cadena = cadena.replace(「」,「」);' – assylias

+2

Did你試圖找出它用一個小例子來擺脫自己? –

+3

因爲您將字符添加到字符串的開頭?另外,爲什麼還要不要操作? –

回答

1

要刪除空格,你可以做類似如下:

str.replaceAll("\\s+","")

+0

嗯,我們不是不應該知道如何使用方法,所以我們不得不以更「手動」的方式進行操作,可以說話。 但是,謝謝;) – nakkeru

+0

不要忘記,你可以隨時查看Java源代碼,看看如何在引擎蓋下實現這些方法。它們可以用作學習工具。 – bblincoe

0

如果你想用這種方法只是改變它稍微:

public String removeSpaces(String cadena) { 
String noSpace=""; 
for (int i = 0; i < cadena.length(); i++) { 
    if (cadena.charAt(i) != ' ') { 
     noSpace+=cadena.charAt(i); 
    } 
} 
return noSpace; 
}