Mettre un espace dans une chaîne de caractères

En supposant que j'ai une Chaîne comme "MikeJackson" je suis en train d'essayer de trouver un moyen de mettre un espace entre les deux, alors il devient "Mike Jackson". Et puis en appliquant la même méthode à l'autre de la chaîne de dire "JohnBull" me redonner "John Bull". C'est le code je suis venu avec:

public class Test{

    public Test(){

    }
public void sep(String s){
    s = s + " ";
   char[] charArray = s.toCharArray();
   int l = s.length();
for (int i = 0; i < l; i++){
    char p = ' ';

    if(Character.isUpperCase(s.charAt(0))){
        continue;   
    }
    else if (Character.isUpperCase(s.charAt(i))){
        int k = s.indexOf(s.charAt(i));
        charArray[l] = charArray[--l];
        charArray[k-1] = p;
    }
    //System.out.println(s.charAt(i));
}
}
    public static void main (String args[]){

    Test one = new Test();

    one.sep("MikeJackson");
    }  
}

Mon idée était d'ajouter un espace à la Chaîne, de sorte que "MikeJackson" devient "Mike Jackson" et ensuite déplacer les personnages sur la place à droite (vérifier où je trouve une majuscule) en ignorant la première majuscule. Ensuite, mettre un caractère ''à la place du caractère" J " mais maj 'J' vers la droite. C'est ce que j'essayais d'atteindre avec ma méthode, mais il semble j'ai besoin de quelques lignes directrices. Si quelqu'un pouvait l'aider. Merci.

InformationsquelleAutor Emmanuel | 2013-10-17