凯撒密码

[设计思想]:在对话框中输入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(); 

原文地址:https://www.cnblogs.com/java-test/p/4962669.html