//import java.util.*;public class Solution
{
public static void main(String[] args)
{
String s="01000000000";
char[] c1=s.toCharArray();
int count=0;
for(int i=c1.length;i!=-1;i++)
{
if(c1[i]==(char)0) {
count++;
System.out.println("count++");//用于测试
}
else
break;
}
char[] c2=new char[c1.length-count];
System.arraycopy(c1,0,c2,0,c2.length);
//for(int i=0;i<c2.length;i++)
//System.out.print(c2[i]);
}
}为什么第一个for循环不执行??????谢谢了

解决方案 »

  1.   

    if (c1[i] == '0')注意'0'和(char)0是两个不同的字符
      

  2.   

    再问一下,'0'和(char)0有什么区别啊?
      

  3.   

    不是代码写错了,而是基本概念性错误。char类型是按ASCII编码把数字映射成字符的,而字符'0'的ASCII码是48,不是0,也就是说,'0'==48。
    ASCII码为0的字符是一个非键盘字符,空字符。