Separar strings com substring atividade aula

Boa tarde pessoal.
Estou com uma atividade de Java da aula, estamos aprendendo a usar split, substring, enfim, trabalhar com strings em geral. O professor nos passou algumas atividades para usarmos split e substring, porém uma delas estou com dificuldades. Segue a atividade:

Separar uma frase em 3 partes utilizando substring. Exemplo: joana vai fazer omelete
Contando os espaços essa frase tem 23 caracteres. Algoritmo deve exibir:

joana v
ai faze
r omelete

Lembrando que preciso utilizar substring. Tentei fazer com split, porém não está dando certo em todas as ocasiões… E além disso, o prof. quer com substring.

Alguém poderia me dar alguma dica, ou ajuda por favor?

Segue o que eu fiz usando split:

	String frase = treinamentoVo.getFrase();
	//aqui recebo a frase do usuario
	String[] array = frase.split("");
	String um = "";
	String dois = "";
	String tres = "";
	Integer tamanhoFrase = frase.length();
	Integer fraseDividida = tamanhoFrase / 3;
	Integer cont = 0;
	Integer cont2 = 0;
	
	for (int i = 0; i < fraseDividida; i++) {
		um += array[i] + "";
		cont = i+1;
	}
	for (int i = cont; i < fraseDividida*2; i++) {
		dois += array[i] + "";
		cont2 = i+1;
	}
	for (int i = cont2; i < fraseDividida*3; i++) {
		tres += array[i] + "";
		//aqui nem sempre está concatenando certo, exemplo da joana vai fazer omelete, a terceira frase recebe "r omelet"

	}
	
	System.out.println(um);
	System.out.println(dois);
	System.out.println(tres);

PRECISO FAZER ESSA ATIVIDADE USANDO SUBSTRING

Tá, se é pra fazer com substring, porque utilizou split?
Já leu a documentação do substring e do split?
O método split espera receber uma expressão regular como parâmetro e usa essa expressão como separador de tokens.
O método substring espera receber o índice do caractere inicial, a partir do qual a String será “cortada”, opcionalmente também pode passar o índice do caractere final.

Exemplo:

String frase = "joana vai fazer omelete";

String parte1 = frase.substring(0, 7);
String parte2 = frase.substring(7, 14);
String parte3 = frase.substring(14);

System.out.println("Frase:   " + frase);
System.out.println("Parte 1: " + parte1);
System.out.println("Parte 2: " + parte2);
System.out.println("Parte 3: " + parte3);

Oi, tudo bem?
Eu apenas resolvi tentar fazer para ver se dava certo, ainda estou tentando com substring.

Neste caso entendi como funciona a substring, obrigada. Estou tentando aplicar para o valor que o usuário informa agora.

Consegui pessoal, obrigada a quem ajudou!

    String frase = treinamentoVo.getFrase();

	String um = "";
	String dois = "";
	String tres = "";
	Integer tamanhoFrase = frase.length();
	Integer fraseDividida = tamanhoFrase / 3;


	/*
		joana vai fazer omelete
	 	String parte1 = frase.substring(0, 7);
		String parte2 = frase.substring(7, 14);
		String parte3 = frase.substring(14);
	 */
	
	um = frase.substring(0, fraseDividida);
	Integer	umCont = um.length();
	dois = frase.substring(umCont, fraseDividida*2);
	Integer doisCont = umCont*2;
	tres = frase.substring(doisCont);
1 curtida