Preparare un programma capace di criptare un testo inserito da tastiera secondo il seguente algoritmo: ogni lettera del testo deve essere sostituita dalla lettera che si trova nella stessa posizione nell’alfabeto rovesciato.
Gli spazi bianchi e gli altri caratteri non alfabetici eventualmente contenuti nel testo da cifrare devono rimanere invariati. Le lettere maiuscole devono rimanere tali dopo la sostituzione, e così pure le lettere minuscole.
Esempio: la parola CASA sarebbe criptata come XZHZ, la parola casa sarebbe criptata come xzhz, la parola Casa sarebbe criptata come Xzhz.
// Criptografia
import javax.swing.*;
public class Cripto {
public static void main ( String args [] )
{
String alfa[] = { "a","b","c","d","e","f","g","h","i","j","l",
"m","n","o","p","q","r","s","t","u","x","y","z " };
String input , // Stringa di input
output = " "; // Stringa di output
input =
JOptionPane.showInputDialog(" Inserisci la frase da criptare ");
/* Leggo il i caratteri uno x uno li confronto
maiuscili o minuscoli */
for ( int i = 0; i <= input.length() ; i++ ){ // inizio for
for ( int j = 0; j <= 27 ; j++ )// ciclo per controllare i carattri
if (input.charAt(i).equalsIgnoreCase(alfa[j]) &&
input.charAt(i).equals(alfa[j])) // controllo
// stampa la parola criptata
for ( int x = 27 ; x >= 27 - j; x-- ){
output += alfa[x];
}
else
// stampa se la lettera e maiscola
for ( int y = 27 ; y >= 27 - j; y-- )
output += alfa[y].toUpperCase();
} // fine for
JOptionPane.showMessageDialog(null,output,"La frase criptata e': ",
JOptionPane.INFORMATION_MESSAGE );
System.exit(0);
} // fine main
} // fine classe
Apparte gli altri errori che ci possono essere il problema è nell'if, il compilatore mi dicebject type required, but char found
![]()
perchè?