0

在尝试进行简单的练习时,我遇到了越来越多的麻烦。我正在尝试删除字符串中所有最终的起始字符“”。

示例:space-space-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);
    }
4

1 回答 1

0

你有正确的想法,但你的实施是关闭的。第一的

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

应该从 开始0,这就是索引的制作方式。

int 已正确初始化,但甚至不是真正需要的。这是因为您只使用字符串的开头。但是,您的循环是出错的地方。您的子字符串代码是正确的,但是现在,您不需要增加 i,因为您正在通过缩短字符串来修改它。还,

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);

当然,这是一个练习,如果你想以正确的方式做,你会使用 temp.trim();

于 2012-12-12T00:34:15.260 回答