Buscar

CifraTransposicao

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

import java.util.Scanner;
/*
 Implementação de uma cifra de transposição.
 */
/**
 *
 * @author Rodrigo Borges de Oliveira
 * @author Eliezer Marques da Silva Neto
 */
public class CifraTransposicao {
 public static void main(String[] args) {
 String mensagem, criptografadaPar = "", criptografadaImpar = "", descriptografada1 = "", descriptografada2 = "", op, retornar;
 Scanner teclado = new Scanner(System.in);
 do {
 System.out.println("1 - Criptografar");
 System.out.println("2 - Descriptografar");
 System.out.println("3 - Sair");
 System.out.println("Digite a opção desejada: ");
 op = teclado.nextLine();
 switch (op) {
 case "1":
 criptografadaPar = "";
 criptografadaImpar = "";
 System.out.println("Digite a mensagem:");
 mensagem = teclado.nextLine();
 for (int i = 0; i < mensagem.length(); i++) {
 if(i%2 == 0){
 criptografadaPar += mensagem.charAt(i);
 }
 else{
 criptografadaImpar += mensagem.charAt(i);
 }
 }
 mensagem = criptografadaPar + criptografadaImpar;
 System.out.println("Mensagem criptografada: " + mensagem);
 break;
 case "2":
 descriptografada2 = "";
 descriptografada1 = "";
 System.out.println("Digite a mensagem:");
 mensagem = teclado.nextLine();
 if(mensagem.length()%2 != 0){
 mensagem += " ";
 }
 int tam = mensagem.length()/2;
 System.out.println(tam);
 for (int i = 0; i < tam; i++) {
 descriptografada1 += mensagem.charAt(i);
 descriptografada2 += mensagem.charAt(i+tam);
 }
 
 mensagem = "";
 for (int i = 0; i < tam; i++) {
 mensagem += descriptografada1.charAt(i);
 mensagem += descriptografada2.charAt(i);
 }
 System.out.println("Mensagem descriptografada: " + mensagem);
 break;
 case "3":
 System.exit(0);
 break;
 default:
 System.out.println("Opção inválida!");
 }
 System.out.println("Deseja retornar ao menu principal?");
 retornar = teclado.nextLine();
 retornar = retornar.toLowerCase();
 } while (retornar.equals("sim") || retornar.equals("s") || retornar.equals("yes") || retornar.equals("y"));
 }
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais