凯撒密码

[设计思想]在对话框中输入String类型的字符串,将String类型转化为char类型。将每位向后推3位输出。

[源代码]

import javax.swing.JOptionPane; 

public class CaesarCipher {

 

             public static void main(String[] args) {

             String s;                 //定义字符串

             s =JOptionPane.showInputDialog( "请输英文字符串" );

             char chs[]=s.toCharArray();     //将字符串类型转化为char

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

            {

               //特殊情况的输出

               if(chs[i]=='X'||chs[i]=='Y'||chs[i]=='Z')

                {

                   chs[i]=(char)(chs[i]-23);

                }

               else

               {

                //一般情况

                 chs[i]=(char)(chs[i]+3);//将字符对应成ASCII+3后再转化成字符。

               }

         }

         // 输出加密结果

          JOptionPane.showMessageDialog(null,"加密后的字符串:"+String.valueOf(chs));

 }

 

}

[结果截图]

 

 

整理;

String类的length():获取字符串的长度。

用法:

String s1=new String("tworkcrazy");

int l=s1.length();

charAt():获取指定位置的长度。用法:

String s1=new String("tworkcrazy");

char s2=s1.charAt(0);//获取字符串中的第一个字符

getChar():获取从指定位置起的子串复制到字符数组中(它有四个参数,在示例中有介绍)

String name=new String("My name is Networkcrazy");

char charArray[] = new char[ name.length() ];

 name.getChars( 0, name.length(), charArray, 0 );

replace():子串替换。

String name=new String("My name is Networkcrazy");

name = name.replace("is","r");//is替换成r

toUpperCase():转化成大写。

toLowerCase():转化成小写。

String name=new String("My name is Networkcrazy");

String str2=name.toLowerCase();//将字符串转换成小写

trim():去除头尾空格。

String name=new String("  name is Networkcrazy");

String s2=name.trim(); 

运行结果为name is Networkcrazy

toCharArray():将字符串对象转换为字符数组。用法:

String s1=new String("tworkcrazy");

char chs[]=s.toCharArray(); 

posted @ 2015-10-22 17:26  drcc  阅读(747)  评论(0编辑  收藏  举报