Esercizio java " codificare messaggio"

di il
1 risposte

Esercizio java " codificare messaggio"

Buongiorno,
Sto realizzando un programma per codificare dei messaggi in stringa, per prima cosa creo l'interfaccia codificatoremessaggio, che ha un suo metodo codifica(testoinchiaro), creo un altra classe che si chiama cifrarioascorrimento che imlementa codificatoremessaggio. Il problema è il seguente definisco un metodo codifica cosi ogni lettera sia spostata del valore contenuta in chiave per esempio se chiave uguale a 3, la lettera a sarà sostituita da d, la lettera b sarà sostituita da e e cosi via...
Ho provato in tanti modi, ma non ci riesco a realizzare, mi potete aiutare????

1 Risposte

  • Re: Esercizio java " codificare messaggio"

    Ciao vedi un pò questo codice
    
    public class Cifrario {
    
        /**
         * @param args the command line arguments
         */
    
        private int index(char c,char [] v)
        {
           int i;
    
            for (i = 0; i < v.length; i++) {
               if(v[i]==c)
                    break;
                       }
    
             return i;
        }
    
        private boolean isConteined(char c,char [] v)
        {
           int i;
    
            for (i = 0; i < v.length; i++) {
               if(v[i]==c)
                    return true;
                       }
    
             return false;
        }
    
        public static void main(String[] args) {
     
    Cifrario cf=new Cifrario();        // TODO code application logic here
    
    int key=3;//chiave 
    
      char [] caratteri={'a','b','c','d','e','f','g'};// tutte le lettere dell'alfabeto (completa)
    String msg="aaae";// messaggio in chiaro
    char [] msgc=msg.toCharArray();//converto in array di caratteri
    
    int tmp;
    System.out.println("messaggio in chiaro="+msg);
    
         for (int i = 0; i < msgc.length; i++)
                {
            
          tmp = (cf.index(msgc[i], caratteri) + key) % caratteri.length;// calcolo l'indice del nuovo char                
          msgc[i]=caratteri[tmp];// sostituisco il carattere 
                }
    
    
    
    System.out.print("messaggio cifrato=");
    
    for (int i = 0; i < msgc.length; i++)
                
             System.out.print(msgc[i]);
            
    System.out.print("\n");
        }
    
    }
    
Devi accedere o registrarti per scrivere nel forum
1 risposte