程序思想:输入一个字符串,把字符串里的每一个字符用charAt()的方法放入一个数组里,在数组里定义一个char类型的变量,把数组里的每一个值都赋给这个变量,加密就加上3,这样就能把ACS码值加3,自然就得到了答案,但是要为最后三个字母写三个if,让遇到xyz的时候退回abc。解密的过程类似。

 

源代码://20142984 chengchongjing

import java.io.InputStream;

//凯撒密码

import java.util.Scanner;

public class Secrect {

 

    public static void main(String[] args) {

        // TODO 自动生成的方法存

       Scanner in= new Scanner (System.in);

       System.out.println("请输入要进行的操作 1加密 2解密");

       int n=in.nextInt();

       if(n==1){

       System.out.println("请输入要加密的字符串");

       String str=in.next();

       String jm="";

       int key=3;

       for(int i=0;i<str.length();i++)

       {

       char c=str.charAt(i);

       if(c>='a'&&c<='w'){

         c+=key;

         }

         else if(c=='x') {

             c='a';

          }

         else if(c=='y')

         {

             c='b';

         }

         else if(c=='z')

         {

             c='c';

         }

            jm+=c;

       }

       System.out.println("要加密的字符串是:"+jm);

      }

      

       if(n==2){

           System.out.println("请输入要解密的字符串");

           String str2=in.next();

           String jm2="";

           int key=3;

           for(int i=0;i<=str2.length();i++){

               char c2=str2.charAt(i);

               if(c2>'d'&&c2<'z')

               {

                 c2-=key;

               }

               else if(c2=='a'){

                c2='x';  

               }

               else if(c2=='b'){

                   c2='y';

               }

               else if(c2=='c')

               {

                   c2='z';

               }

               jm2+=c2;

           }

           System.out.println("要解密的字符串是"+jm2);

        }  

   

    }

}

posted on 2015-10-25 22:24  憧憧  阅读(1011)  评论(0编辑  收藏  举报