一.古罗马皇帝凯撒在打仗时曾经使用过一种方法加密军事情报。请编写一个程序,使用上述算法加密或解密用户输入的英文字串。
设计思想:先提示用户进行的操作是加密还是解密,用户输入一个字符串,加密时将前23个大小写字母+3,后3个-23强制转换成char类型。解密时将后23个大小写字母-3,前3个-23.用char()方法将改变的字符连接到结果上。
源代码://20153250 解密或加密字符串 陈欣容
package demo;
import java.util.Scanner;
public class JieMi {
public static void main(String args[])
{
Scanner s= new Scanner(System.in);//输入
System.out.print("请输入要执行操作(1.加密,2解密):");
int choose = s.nextInt();
String result="";
char temp;
if(choose==1)//加密
{
System.out.print("请输入字符串:");
String n=s.next();
for(int i=0;i<n.length();i++)
{
if((n.charAt(i)>64&&n.charAt(i) < 88)||(n.charAt(i)>96&&n.charAt(i) < 120))
temp=(char)(n.charAt(i)+3);
else if((n.charAt(i)>87&&n.charAt(i)<91)||(n.charAt(i)>119&&n.charAt(i)<123))
temp=(char) (n.charAt(i)-23);
else
{
System.out.println("输入有误");
break;
}
result += temp;
}
System.out.println("加密后结果为:"+result);
}
else if(choose == 2)//解密
{
System.out.print("请输入字符串:");
String n=s.next();
for(int i = 0;i < n.length();i++)
{
if((n.charAt(i)>67&&n.charAt(i)<91)||(n.charAt(i)>99&&n.charAt(i)<123))
temp=(char)(n.charAt(i)-3);
else if((n.charAt(i)>64 &&n.charAt(i)<68)||(n.charAt(i)>96&&n.charAt(i) < 100))
temp=(char)(n.charAt(i)+23);
else
{
System.out.println("输入有误!");
break;
}
result += temp;
}
System.out.println("解密后结果为:" + result);
}
else
System.out.println("输入有误");
s.close();
}
}
截图:
二.String equals()使用方法
比较字符串内容是否相等
String s=”a”;
System.out.print(s.equals(“a”)); 返回true
三.String Length()使用方法
作用:获取字串长度
String s=new String(“hello”);
System.out.print(s1.length());
四.String类型charAt()使用方法
作用:获取指定位置的字符
五.String类型getChars()使用方法
作用:获取从指定位置起的子串复制到字符数组中(有4个参数)
参数1:.被拷贝字符在字串中的起始位置
参数2:被拷贝的最后一个字符在字串中的下标再加1
参数3:目标字符数组
参数4:拷贝的字符放在字符数组中的起始下标
六.String类型replace()使用方法
作用:子串替换replace(‘a’,‘b’)b替换字符串中出现的所有a,
七.String类型toUpperCase()使用方法
作用:转化成大写
String str=”hello”; str.toUpperCase();
八.String类型toLowerCase()使用方法
作用:转化成小写
九.String类型trim()使用方法
作用:去除头尾空格
十.String类型toCharArray()使用方法
作用:将字符串对象转换位字符数组
注意定义的字符串数组是char类型,char s[]