"Encriptar" uma String! AJUDAA PLEASE!

Bom dia gente!
Preciso de ajuda para “encriptar” uma String digitada pelo usuário.
O que é preciso?
*Retirar os espaços da String - Já fiz.
*Saber quantos caracteres sem espaços a String tem - Já fiz.
*Colocar essa String em bloco (linhas e colunas de tamanho iguais)
Exemplo:
String digitada - meu nome e tatiana
String sem espaços = meunomeetatiana
Total de caracteres = 15

1 2 3 4
1 m e u n
2 o m e e
3 t a t i
4 a n a

Saída: mota eman ueta nei.

O que eu já fiz no eclipse:

public static void main(String[] args) {

	Scanner sc = new Scanner(System.in);
	
	String s;
	
	System.out.println("Olá, eu sou seu algoritmo!");
	System.out.println("Escreva uma frase por favor!");
    s = sc.nextLine();
	
	String result = s.replaceAll("\\s+","");
	System.out.println(result);
	System.out.print(result.length());
	
}

}

Alguém tem alguma ideia pra eu conseguir terminar esse algoritmo?

import java.io.PrintStream;
import java.util.Scanner;

public class ExercicioEncriptacao {

  public static void main(String[] args) {
    try {
      ExercicioEncriptacao programa = new ExercicioEncriptacao();
      programa.executar();
    } catch (Throwable t) {
      t.printStackTrace();
    }
  }

  private static final Scanner in = new Scanner(System.in);
  private static final PrintStream out = System.out;

  public void executar() {
    out.println("Olá, eu sou seu algoritmo!");
    out.println("Escreva uma frase por favor!");
    String frase = in.nextLine();
    String fraseSemEspacos = frase.replaceAll("\\s+", "");

    out.println("Frase digitada:    \"" + frase + "\"");
    out.println("Frase sem espaços: \"" + fraseSemEspacos + "\"");

    out.println("Total caracteres: " + fraseSemEspacos.length());

    char[][] matriz = criarMatriz(fraseSemEspacos);
    imprimirMatriz(matriz);

    String fraseEncriptada = textoEncriptado(matriz);
    out.println("Saída: \"" + fraseEncriptada + "\"");
  }

  private char[][] criarMatriz(String texto) {
    char[] letras = texto.toCharArray();
    int tamanho = letras.length;
    int raizQuadrada = (int) Math.ceil(Math.sqrt(tamanho));
    int colunas = raizQuadrada;
    int linhas = (int) Math.ceil(tamanho / (double) colunas);
    char[][] matriz = new char[linhas][colunas];
    int lin = 0;
    int col = 0;
    for (int i = 0; i < tamanho; i++) {
      matriz[lin][col] = letras[i];
      col++;
      if (col % colunas == 0) {
        col = 0;
        lin++;
      }
    }
    return matriz;
  }

  private void imprimirMatriz(char[][] matriz) {
    for (int lin = 0; lin < matriz.length; lin++) {
      for (int col = 0; col < matriz[lin].length; col++) {
        out.print(" " + matriz[lin][col]);
      }
      out.println();
    }
  }

  private String textoEncriptado(char[][] matriz) {
    StringBuilder texto = new StringBuilder();
    for (int col = 0; col < matriz[0].length; col++) {
      for (int lin = 0; lin < matriz.length; lin++) {
        char letra = matriz[lin][col];
        if (letra > 0) {
          texto.append(letra);
        }
      }
      texto.append(" ");
    }
    return texto.toString().trim();
  }
}

Saída do programa:

Olá, eu sou seu algoritmo!
Escreva uma frase por favor!
meu nome e tatiana
Frase digitada:    "meu nome e tatiana"
Frase sem espaços: "meunomeetatiana"
Total caracteres: 15
 m e u n
 o m e e
 t a t i
 a n a
Saída: "mota eman ueta nei"
2 curtidas