惠州开发做商城网站建设哪家好,佳木斯建设网站,物业公司排名2020最新排名,网站网络推广优化哪家好ZZULIOJ 1164: 字符串加密#xff0c;Java
题目描述
输入一串字符#xff08;长度不超过100#xff09;和一个正整数k#xff0c;将其中的英文字母加密并输出加密后的字符串#xff0c;非英文字母不变。加密思想#xff1a;将每个字母c加一个序数k#xff0c;即用它后…ZZULIOJ 1164: 字符串加密Java
题目描述
输入一串字符长度不超过100和一个正整数k将其中的英文字母加密并输出加密后的字符串非英文字母不变。加密思想将每个字母c加一个序数k即用它后面的第k个字母代替变换公式cck。如果字母为z则后一个字母是a也就是字母字符形成一个圆。
输入
输入第一行是若干字符以回车结束。输入第二行是一个整数kk是int范围内的正整数
输出
输出加密后的字符串。
样例输入 Copy
12kjsdZjk
280样例输出 Copy
12edmxTde提示
注意即使通过模运算把k控制在小于26的范围内依然要考虑char类型溢出的问题如’z’ 10也会超出char的表示范围。但庆幸的是我们只需要考虑向内存存储时的char类型溢出而在计算过程中不会溢出因为计算过程中char会被提升为int类型。
import java.io.*;public class Main {public static void main(String[] args) throws IOException {BufferedReader bf new BufferedReader(new InputStreamReader(System.in));BufferedWriter bw new BufferedWriter(new OutputStreamWriter(System.out));char[] a bf.readLine().toCharArray();int k Integer.parseInt(bf.readLine());for (int i 0; i a.length; i) {if (a[i] a a[i] z) {a[i] (char) ((a[i] - a k) % 26 a);}if (a[i] A a[i] Z) {a[i] (char) ((a[i] - A k) % 26 A);}}bw.write(a);bw.close();}
}