public class Test1 {
public static void main(String[] args) {
char[] chars = {'1','2'};
int number = getNumber(chars, 0);
System.out.println("number = " + number);
}
private static int getNumber(char[] str,int i){
if(str.length == i){
return 1;
}
if(str[i] == '0'){
return 0;
}
if(str[i] == '1'){
int result = getNumber(str,i+1);
if(i+1<str.length){
result += getNumber(str,i+2);
}
return result;
}
if(str[i] == '2'){
int result = getNumber(str,i+1);
if(i+1<str.length && str[i+1] >= '1' && str[i+1] <= '6'){
result += getNumber(str,i+2);
}
return result;
}
if(str[i] > '3' && str[i] < '9'){
return getNumber(str,i+1);
}
return getNumber(str,i+1);
}
}