Why do I keep getting this indexing erorr? : I keep getting StringIndexOutOfBoundsException. I'm trying to take a String and replace each letter with the one after it, then return the new manipulated String. For example, "Hey", is "Ifz".

I've tried changing the indexing but nothing is working.

    String change = "";
    char[] alpha =    {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};


     for(int i = 0; i < alpha.length; i++) {
    
        if(str.charAt(i) == alpha[i]) {
            change =+ str.charAt(i+1) + "";
        }
    
    
        }
    
        return change;
    
      } 
  
      public static void main (String[] args) {  
        // keep this function call here     
        Scanner s = new Scanner(System.in);
        System.out.print(LetterChanges(s.nextLine())); 
      }   


I've already tried to change the indexing.