算法-蓝桥杯-算法提高 9-2 文本加密(JAVA)

1 引言

    文本加密=大小写转换+数组处理

2 题目

问题描述

  先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:"A"转化"B","B"转化为"C",... ..."Z"转化为"a","a"转化为"b",... ..., "z"转化为"A",其它字符不加密。编写程序,加密给定字符串。
样例输出
与上面的样例输入对应的输出。
例:
数据规模和约定
  输入数据中每一个数的范围。
  例:50个字符以内无空格字符串。

3 源代码

import java.util.*;
class Main
{
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		String s=new String();
		s=sc.next();
		char[] c=new char[s.length()];
		for(int i=0;i<s.length();i++)//输入字符
			c[i]=s.charAt(i);
		for(int i=0;i<s.length();i++)//遍历数组,对字符进行处理
		{
			if(c[i]>='A'&&c[i]<'Z')
				c[i]++;
			else if(c[i]>='a'&&c[i]<'z')
				c[i]++;
			else if(c[i]=='z')
				c[i]='A';
			else if(c[i]=='Z')
				c[i]='a';
		}
		for(int i=0;i<s.length();i++)//输出处理后的结果
			System.out.print(c[i]);
	}
}

4 思路讲解

    第一部分,输入数据,定义字符串,将字符串转换为字符数组。第二部分在对字符进行处理时,不可以把‘z’和‘Z’,一起处理,如果加入if语句里面,“c[i]++”后将会转为另一个字符,而不是题目要求的字符。另外一个问题是,要使用“if else if”语句来处理,这种语句的执行过程是,如果“if”成立,则成立“if”里面的语句,否则去判断“else if”的语句。第三部分输出结果。

    分享和帮助是人生一大乐事,希望可以帮助您。本人才疏学浅,如果有不当之处,还请批评指正。同时欢迎大家评论、点赞及转发!

猜你喜欢

转载自blog.csdn.net/chen_yongbo/article/details/79757891