I am trying to return 4 characters to an array from a method but get the error shown below. I have tried to call the method in two positions so far and have commented them out below. What is the correct way to do this?
class App{
public static void main(String[]args){
    App theApp = new App();
}
    // position 1 - RandomizeCodeBlock(); 
    char[] charactersAllowed;
    char[] charArray;
    public App(){
        // position 2 - RandomizeCodeBlock(); 
         for(int i=0; i<4; i++){
         System.out.println(charArray[i]);
         }
    }
    public char RandomizeCodeBlock()
    {      
          char[] charactersAllowed = {'A','B','C','D','E','F','G'};
          charArray = new char[4];
          int i;
          for(i = 0; i < charArray.length; i++) {
          charArray[i] = charactersAllowed[(int) (Math.random() * 4)];
          }return charArray[i];
    }
}
I get this error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
    at App.RandomizeCodeBlock(App.java:33)
    at App.<init>(App.java:17)
    at App.main(App.java:5)
 
    