2

我有一个非常非常愚蠢的问题,但这花了我很长时间,我真的不知道问题是什么。请看一下我的代码:

String PT = myedittext.getText().toString();
int len = PT.length();
char chars[] = PT.toCharArray();
for (int i = 0; i < len; i++)
chars[i] = chars[i++];

如您所见,我想删除第一个字符但它不起作用,并且在此代码之后我的数组与之前相同。

我要疯了。错误是什么?

4

3 回答 3

5

如果你想摆脱第一个字符,只需使用substring()

String newString = PT.substring(1);
于 2013-07-07T18:42:19.910 回答
1

改变这个:

for (int i = 0; i < len; i++)
chars[i] = chars[i++];

对此:

for (int i = 0; i < len-1; i++)
chars[i] = chars[i+1];

结果字符串将是:

Arrays.toString(chars);

另外,如果您不需要 char 数组,并且现在您知道代码的问题substring将是一个更好的选择。

于 2013-07-07T18:47:23.957 回答
0

问题出现在这里:

chars[i] = chars[i++];

这与以下内容相同:

chars[i] = chars[i];
i = i + 1;

要删除第一个字符,您应该使用子字符串:

 PT.substring(1)
于 2013-07-07T18:43:34.473 回答