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