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);
    	}
    
    }
    
    
    
  • 相关阅读:
    windows10的子系统linux(wsl)
    关于js的比较
    关于parseInt,很神奇
    vue修改数组元素通过arr[0]=val的方式不生效
    wps表格 VLookUp 函数
    青年大学习_收集截图方案
    个人记录_uwsgi,nginx与django之间的关系以及各自的作用
    Ubuntu16.04系统中创建新用户
    idea 启动或debug springboot web项目特别慢的解决方案
    利用Aop实现动态分库分表
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074923.html
Copyright © 2011-2022 走看看