你的程序太长了,没太仔细看,不过运行是报的错误是java.lang.ArrayIndexOutOfBoundsException: 5  很明显的是数组越界了 你的str1的长度是5,但是你在这里for(i=0;i<=len1;i++)  char11[(int)char1[i]]=1;   i = 5的时候 char1[5]是不存在的(只有0--4),所以会报上面的错误,看了看你程序的其他地方也存在这个问题,循环时变量i的定义存在类似的问题,仔细的改一下吧