// 数据处理
public static String Change1(String str, int len)
{
String str1="p1r!p1r003B1s!p2r!p2r00003!p1r!p1r003B1s!p2r!p2r00003!" +
"p1r!p1r003B1s!p2r!p2r00003!p1r!p1r003B1s!p2r!p2r00003!p1r!p1r001E1v!p1r!p1r001E1v!";
String hexString = str1.replace(" ", "");
String ret = "";
char[] hexChars = hexString.toCharArray();
for (int i = 0; i < hexChars.length;)
{
if ((hexChars[i] == 'p') && (hexChars[i + 1] == '1')
&& (hexChars[i + 2] == 'r') && (hexChars[i + 3] == '!'))
{
String p = Integer
.toString((CharToHex(hexChars[i + 7]) << 12)
| (CharToHex(hexChars[i + 8]) << 8)
| (CharToHex(hexChars[i + 9]) << 4)
| CharToHex(hexChars[i + 10]));
i=i+14;
Log.i("DIAN WEI", "p");
return p;
} else
{
i=1+1;
}
}
return null;
}
public static int CharToHex(char Char) {
if (Char >= '0' && Char <= '9')
return Char - '0';
else if (Char >= 'A' && Char <= 'F')
return Char - 'A' + 10;
else if (Char >= 'a' && Char <= 'f')
return Char - 'a' + 10;
else
return 0;
}
你的逻辑我就不看了,说说我看到的错误吧。
就是你for循环中esle里面对i的赋值,i=1+1;
当i=1+1不满足你if中的条件时,就永远是2;
那么程序就会因为死循环造成栈溢出。
如果有帮助,希望采纳