zoukankan      html  css  js  c++  java
  • 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);
    	}
    
    }
    
    
    
  • 相关阅读:
    python-excel操作
    python-处理文件
    python-pandas应用总结
    python比较数组
    vue学习一(指令1.v-text,v-html,插值表达式{{msg}})
    博客园背景图页面定制css
    SpringBoot的yml文件报org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here in 'reader', line 11, column 16:
    python初学习一
    C#多线程
    API与WebApi
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074708.html
Copyright © 2011-2022 走看看