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) {
Scannersc=newScanner(System.in);Strings;System.out.println("Olá, eu sou seu algoritmo!");System.out.println("Escreva uma frase por favor!");s=sc.nextLine();Stringresult=s.replaceAll("\\s+","");System.out.println(result);System.out.print(result.length());}
}
Alguém tem alguma ideia pra eu conseguir terminar esse algoritmo?
importjava.io.PrintStream;importjava.util.Scanner;publicclassExercicioEncriptacao{publicstaticvoidmain(String[]args){try{ExercicioEncriptacaoprograma=newExercicioEncriptacao();programa.executar();}catch(Throwablet){t.printStackTrace();}}privatestaticfinalScannerin=newScanner(System.in);privatestaticfinalPrintStreamout=System.out;publicvoidexecutar(){out.println("Olá, eu sou seu algoritmo!");out.println("Escreva uma frase por favor!");Stringfrase=in.nextLine();StringfraseSemEspacos=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);StringfraseEncriptada=textoEncriptado(matriz);out.println("Saída: \""+fraseEncriptada+"\"");}privatechar[][]criarMatriz(Stringtexto){char[]letras=texto.toCharArray();inttamanho=letras.length;intraizQuadrada=(int)Math.ceil(Math.sqrt(tamanho));intcolunas=raizQuadrada;intlinhas=(int)Math.ceil(tamanho/(double)colunas);char[][]matriz=newchar[linhas][colunas];intlin=0;intcol=0;for(inti=0;i<tamanho;i++){matriz[lin][col]=letras[i];col++;if(col%colunas==0){col=0;lin++;}}returnmatriz;}privatevoidimprimirMatriz(char[][]matriz){for(intlin=0;lin<matriz.length;lin++){for(intcol=0;col<matriz[lin].length;col++){out.print(" "+matriz[lin][col]);}out.println();}}privateStringtextoEncriptado(char[][]matriz){StringBuildertexto=newStringBuilder();for(intcol=0;col<matriz[0].length;col++){for(intlin=0;lin<matriz.length;lin++){charletra=matriz[lin][col];if(letra>0){texto.append(letra);}}texto.append(" ");}returntexto.toString().trim();}}
Saída do programa:
Olá,eusouseualgoritmo!Escrevaumafraseporfavor!meunomeetatianaFrasedigitada:"meu nome e tatiana"Frasesemespaços:"meunomeetatiana"Totalcaracteres:15meunomeetatianaSaída:"mota eman ueta nei"