• Java 第十一届 蓝桥杯 省模拟赛 凯撒密码加密


    凯撒密码加密

    题目
    问题描述

    给定一个单词,请使用凯撒密码将这个单词加密。
      凯撒密码是一种替换加密的技术,单词中的所有字母都在字母表上向后偏移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);
    	}
    
    }
    
    
    
  • 相关阅读:
    MacOS更改zsh命令行前缀
    python中os._exit()和sys.exit(), exit(0)和exit(1) 的用法和区别
    如何解析 redis 的 rdb 文件
    流量回放工具<二>
    策略路由配置<一>
    h3c镜像模式配置
    python上传gz文件请求
    优先队列(大顶堆实现)
    bm和kmp和bf
    dedecms 软件下载模块加入flashget快车下载代码
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074923.html
Copyright © 2020-2023  润新知