To tentando fazer um código aqui que resolve esse problema:
a metade esquerda de cada linha está sendo impressa a partir do meio da página até a margem esquerda. Do mesmo modo, a metade direita de cada linha está sendo impressa à partir da margem direita e prosseguindo em direção ao centro da página.
Por exemplo a linha:
THIS LINE IS GIBBERISH
está sendo impressa como:
I ENIL SIHTHSIREBBIG S
Tentei fazer desse jeito aqui mas fica dando erro pra ler na parte em negrito:
Alguém consegue me ajudar?
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class DeDentroPraFora {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
System.out.println("Quantidade de casos teste?");
int n = teclado.nextInt();
List<List<Character>> frases = new ArrayList<List<Character>>();
int i = 0;
while(i<n) {
teclado.nextLine();
System.out.println("\nCaso " + (i+1));
System.out.println("\nDigite a frase: ");
String frase = teclado.nextLine();
while(frase.length()<2 || frase.length()>100) {
System.out.println("Frase inválida! Digite Novamente!");
frase = teclado.nextLine();
}
List<Character> letras = new ArrayList<Character>();
for(int j = 0; j < frase.length();j++) {
letras.add(frase.charAt(j));
}
frases.add(letras);
i++;
}
**for(List<Character> lista : frases)** { // Organizando a lista com as palavras
int b = 0;
List<Character> letras = new ArrayList<Character>();
for(int z = ((lista.size()/2)-1); z >= 0;z--) {
letras.add(lista.get(z));
}
for(int z = (lista.size()-1); z >= lista.size()/2;z--) {
letras.add(lista.get(z));
}
frases.add(b, letras); // substituindo as erradas pela certa na lista
b++;
}
for(List<Character> lista : frases) {
for(Character letra : lista) {
System.out.print(letra);
}
System.out.println();
}
teclado.close();
}
}