Java编程之简易加密处理

  • Post author:
  • Post category:java



一、题目


编写一个简易的加密处理程序,从键盘输入一段英文文字,将其中的每个字母用其后的第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比较方便,可以简单实现增删改。



版权声明:本文为qq_44111805原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。