Given an integer n, using phone keypad find out all the possible strings that can be made using digits of input n. Return empty string for numbers 0 and 1.
Input
23
Output
ad
ae
af
bd
be
bf
cd
ce
cf
Code:
public class returnKeypad {
    private static String[] correspondingkepad(int n) {
        String keyWords[];
        switch (n) {
            case 2:  
                keyWords = new String[]{"a","b","c"};
                break;
            case 3:  
                keyWords = new String[]{"d","e","f"};
                break;
            case 4: 
                keyWords = new String[]{"g","h","i"};
                break;
            case 5:  
                keyWords = new String[]{"j","k","l"};
                break;
            case 6:
                keyWords = new String[]{"m","n","o"};
                break;
            case 7: 
                keyWords = new String[]{"p","q","r","s"};
                break;
            case 8: 
                keyWords = new String[]{"t","u","v"};
                break;
            case 9:  
                keyWords = new String[]{"w","x","y","z"};
                break;
           default:  
               keyWords = new String[]{""}; 
        }
        return keyWords;
    }
    public static String[] keypad(int n){
        if (n == 0) {
            String[] ans = {""};
            return ans;
        }
        String[] smallAns = keypad( n / 10 );      //line 45
        String[] p = correspondingkepad(n % 10);
        String[] ans = new String[p.length * smallAns.length];
        int k = 0;
        for(int i = 0; i < ans.length; i++) {
            for(int j = 0; j < p.length; j++) {
                ans[k] =  smallAns[i] + p[j];  //line 55             
                k++;
            }
        }
        return ans;
    }
    public static void main(String[] args) {
        String s = "xyz";
        String[] ans = keypad(234); //line 66
        for(int i = 0; i < ans.length; i++) {
            System.out.println(ans[i]);
        }
    }
}
Exception:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 
    at returnKeypad.keypad(returnKeypad.java:55)
    at returnKeypad.keypad(returnKeypad.java:45)
    at returnKeypad.keypad(returnKeypad.java:45)
    at returnKeypad.main(returnKeypad.java:66
I am mentioning lines Number in comments
Please tell me if i am wrong with this approach to the problem or what is wrong in my code Thank you
 
     
     
    