Ich soll für den Informatikunterricht ein Verschlüsselungsprogramm erstellen welches die Caesarverschlüsselung benutzt, jedoch kriege ich für jeden Buchstaben die gleiche ausgabe unzwar so kleine fragezeichen, bitte um hilfe

Mein Programm:

import java.util.Scanner;

public class Caesar {

public static void main (String[] args) {

    Scanner scanner = new Scanner (System.in);

    System.out.println("Zu verschlüsselnden Text eingeben:");

    String text = scanner.nextLine(); 
    // Text eingeben

    int offset = 3;
    // Offset (Verschiebung) wählen

    char [] meinArray = text.toCharArray();
    // den Text in ein Char Array laden

    char [] meinNeuesArray = verschluesseln(offset, meinArray);
    // mit der Methode (siehe unten) "verschluesseln" ein neues 
    // Char Array mit dem verschlüsselten Text erstellen

    System.out.println("So sieht der Text verschlüsselt aus:");
    // verschlüsselten Text wieder ausgeben:

        for (int i = 0; i < meinNeuesArray.length; i++) {

            System.out.print(meinNeuesArray[i]);
        }

    scanner.close();
    }

// hier die Methode zum verschlüsseln
public static char[] verschluesseln(int offset, char[] charArray) {

    char[] cryptArray = new char[charArray.length];
    // ein leeres Char Array erstellen

    for (int i = 0; i < charArray.length; i++) {

                int verschiebung = (charArray[i] + offset)%26;
                // ursprüngliches Zeichen plus Offset modulo 26

                cryptArray[i] = (char) (verschiebung);

    }
    return cryptArray;

}

}