public class T {
static int last = 1;//递增值标志
public static String StringToAssic(String str) {
int length = str.length();
int[] arr = new int[length];
//转换为 ASSIC码值
for (int i = 0 ; i < length ; i ++ ) {
arr[i] = str.charAt(i);
}
int theLast = arr[length-last];
if(theLast >= 48 && theLast <= 57) {//如果是数字
theLast++;
}
//转换过来
String result = "";
if(valueIncrease(arr, theLast, length)) {//递归增加值
for (int i = 0 ; i < length ; i ++ ) {
result += String.valueOf((char) arr[i]);
}
} else {
for (int i = 0 ; i < length ; i ++ ) {
result += String.valueOf((char) arr[i]);
}
str = result;
StringToAssic(str);
}
str = result;
return result;
}
public static boolean valueIncrease(int[] arr, int theLast, int length) {
System.out.println(theLast);
if(theLast < 58) {
arr[length-last] = theLast;
return true;
} else {
arr[length-last] = 48;
last ++;
return false;
}
}
public static void main(String[] args){
String str = "29";
System.out.println(StringToAssic(str));
}
}
已经执行 return result;
可是他还去执行StringToAssic(str);
我是想用 assic 码来修改传送进来的 字符串的值 29 +1 的话是30 可是最后他只改变了一位数









