[RESOLVIDO]Como colocar a string de um vetor uma ao lado da outra

Oi, estou com um código onde a string é divida em várias palavras através do .split, e após isso é sempre retirada a última letra da string, o código está abaixo:
public static void main(String[] args) {

  Scanner entrada = new Scanner(System.in);

  String palavra = entrada.nextLine();
  palavra = palavra.toUpperCase();
  int var	= palavra.split(" ", -1).length -1;
  String var2[] = new String[var];              
  var2 = palavra.split(" ");                      
  for(int i = 0; i <= var; i++){
     
  while (!var2[i].isEmpty()) {
  
  System.out.print("\n" + var2[i]);
  if (!var2[i].isEmpty()) var2[i] = var2[i].substring (0, var2[i].length() -1);

  }

}
entrada.close();
}
};

se você põe as palavras “Texto separado”, a saída ficaria assim:
TEXTO
TEXT
TEX
TE
T
SEPARADO
SEPARAD
SEPARA
SEPAR
SEPA
SEP
SE
S

Eu gostaria que ficasse assim:

TEXTO SEPARADO
TEXT SEPARAD
TEX SEPARA
TE SEPAR
T SEPA
SEP
SE
S

Se alguém puder me ajudar, já agradeço

Você tem que tratar cada palavra separadamente, verificando se ela já “terminou” - ou seja, se ainda tem algum caractere para retirar. Se mais nenhuma palavra tiver caracteres para retirar, você encerra:

String palavra = "Texto separado";
String[] partes = palavra.toUpperCase().split(" ");
int retirar = 0; // quantidade de caracteres que vou retirar de cada palavra
boolean retirou = true;
while (retirou) { // enquanto tiver palavras para retirar caracteres
    retirou = false; // ainda não retirei de nenhuma palavra
    for (String s : partes) {
        if (retirar < s.length()) {
            System.out.print(s.substring(0, s.length() - retirar) + " ");
            retirou = true; // retirei de pelo menos uma palavra
        }
    }
    System.out.println();
    retirar++;
}
1 curtida

Muito obrigado cara, perfeito