一、题目
编写一个简易的加密处理程序,从键盘输入一段英文文字,将其中的每个字母用其后的第4个字母代替,最后的字母轮回到前面去数,其他字符不变。
二、实验代码
package fighting;
import java.util.Scanner;
public class fighting
{
public static void main(String[] args)
{
System.out.println("请输入需要加密的文字:");
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
StringBuffer sb=new StringBuffer();
for(int i=0;i<str.length();i++)
{
if(Character.isLetter(str.charAt(i)))//Character类的isLetter() 方法用于判断指定字符是否为字母。
{
if(str.charAt(i)>='a'&&str.charAt(i)<='z')
{
sb.append((char)('a'+(str.charAt(i)-'a'+4)%26));//小写字母用其后的第四个字母代替,字母个数一共为26个,对26取余进行循环
}
else if(str.charAt(i)>='A'&&str.charAt(i)<='Z')
{
sb.append((char)('A'+(str.charAt(i)-'A'+4)%26));//大写字母用其后的第四个字母代替
}
}
else
{
sb.append(str.charAt(i));//若不是英文字直接放入StringBuffer中,保持不变
}
}
System.out.println("加密后的文字为:");
System.out.println(sb);
}
}
三、运行结果
四、实验总结
1、Character类字符函数使用:(
返回boolean
)
(1)Character.isLetter(); 判断是不是字符
(2)Character.isDigit(); 判断是不是数字
(3)Character.isWhitespace() 判断是不是空格
(4)Character.isUpperCase() 判断是不是大写
(5)Character.isLowerCase() 判断是不是小写
(6)Character.toUpterCase() 指定为大写,返回字符
(7)Character.toLowerCase() 指定为小写,返回字符
(8)Character.toString() 返回字符串的形式
System.out.println(Character.isLetter('a'));//true
System.out.println(Character.isDigit('5'));//true
System.out.println(Character.isWhitespace(' '));//true
System.out.println(Character.isWhitespace('\n'));//true
System.out.println(Character.isUpperCase('C'));//true
System.out.println(Character.isLowerCase('c'));//true
System.out.println(Character.toUpperCase('c'));//C
System.out.println(Character.toLowerCase('S'));//S
System.out.println(Character.toString('d'));//d
2、
字母之间的转换其实是ASCII码值的变换
,最后需要再强制转换一下,为实现循环替换,可巧妙利用求余符号。对于字符串的改变还是StringBuffer比较方便,可以简单实现增删改。