凯撒密码加密
题目
问题描述
给定一个单词,请使用凯撒密码将这个单词加密。
凯撒密码是一种替换加密的技术,单词中的所有字母都在字母表上向后偏移3位后被替换成密文。即a变为d,b变为e,…,w变为z,x变为a,y变为b,z变为c。
例如,lanqiao会变成odqtldr。
输入格式
输入一行,包含一个单词,单词中只包含小写英文字母。
输出格式
输出一行,表示加密后的密文。
样例输入
lanqiao
样例输出
odqtldr
评测用例规模与约定
对于所有评测用例,单词中的字母个数不超过100。
PS:
充分利用JDK,虽然看起来多,其实写起来方便,方法都有提示的
只需要对xyz这三个做特殊处理就可以了,记得大小写都做处理,
package 省模拟赛;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class 凯撒密码 {
public static void main(String[] args) throws IOException {
//
Scanner sc = new Scanner(System.in);
//
String s=sc.next();
String s=(new BufferedReader(new InputStreamReader(System.in))).readLine();
char[] str =s.toCharArray();
StringBuilder sb = new StringBuilder("");
for (int i = 0; i < str.length; i++) {
//判断大写字母
这里是相同意义的
if(Character.isUpperCase(str[i])){//
str[i]>='A'&&str[i]<='Z'
if(str[i]=='X'||str[i]=='Y'||str[i]=='Z'){
sb.append((char)(str[i]-'Z'+'C'));
}
else{
sb.append((char)( str[i]+3));
}
}
//判断小写字母
else if(Character.isLowerCase(str[i])){//
str[i]>='a'&&str[i]<='z'
if(str[i]=='x'||str[i]=='y'||str[i]=='z'){
sb.append((char)(str[i]-'z'+'c'));
}
else{
sb.append((char)( str[i]+3));
}
}
}
System.out.println(sb);
}
}
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。