2012-12-12 66 views
0

我在試圖做一個簡單的練習時遇到了越來越多的麻煩。 我試圖刪除一個字符串中的所有可能的起始字符「」。空間字符串問題android

實例:空間 - 空間 - space50(我想不出它,因爲這個論壇刪除多餘的空間) 結果:50

下面的代碼...

  char c=textToShow.getText().toString().charAt(1); 
    int i=1; 
    while (c == ' '){ 
     textToShow.setText(textToShow.getText().toString().substring(i)); 
    //New char 
     i++; 
    c=textToShow.getText().toString().charAt(i); 
    } 

回答

0

你有正確的想法,但是你的實現是關閉的。 首先

char c=textToShow.getText().toString().charAt(1); 

應該0開始,即索引是如何製造的。

int已正確初始化,但甚至沒有真正需要。這是因爲你只使用字符串的開頭。 但是你的循環是事情發生錯誤的地方。 你的子串代碼是正確的,但現在,你不需要增加我,因爲你通過縮短它來修改字符串。此外,

c=textToShow.getText().toString().charAt(i); 

應該是C = textToShow.getText()的toString()的charAt(0)。。您仍在檢查字符串的開始。使用循環

更有效的實現可能是:

char c=textToShow.getText().toString().charAt(0); 
String temp = textToShow.setText(textToShow.getText().toString(); 
while (c == ' ' && temp.length > 0)//also check to see if you're accessing an empty string. 
{ 
    temp = temp.substring (1); 
    c = temp.charAt (0); 
} 
textToShow.setText (temp); 

當然,這是一個excersice,如果你想要做正確的方式,你會使用temp.trim();

+0

非常感謝! – user1873662

+0

沒問題!歡迎來到循環和字符串! –