7-6 王牌特工3 (15 分)

7-6 王牌特工3 (15 分)

众所周知旺仔是来自阿联酋的富二代,但是其实这一切都是假的!他的真实身份是火星情报局的王牌特工,这一切的一切都起源与一个绝密的策划......(此处省略1万字),一天晚上,旺仔特工准备向火星情报局发送一个十万火急的文件,但是怕文件泄露,所以他决定对文件进行加密,加密规则如下:

首先,在信的开头会有一个“加密信息”,接下来是正文(当

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()) {
			String S = miwen(sc.nextLine());
			String s = S.toLowerCase();
			int n = sc.nextInt();
			sc.nextLine();
			for (int i = 0; i < n; i++) {
				String my = sc.nextLine();
				for (int j = 0; j < my.length(); j++) {
					if(my.charAt(j)>='A'&&my.charAt(j)<='Z') System.out.print((char)(65+S.indexOf(my.charAt(j))));
					else if(my.charAt(j)>='a'&&my.charAt(j)<='z') System.out.print((char)(97+s.indexOf(my.charAt(j))));
					else System.out.print(my.charAt(j));
				}
				System.out.println();
			}
		}

	}
	
	public static String miwen(String s) {
		char arr[] = new char[26];
		for (int i = 65; i <= 90; i++) {
			arr[i-65] = (char)i;
		}
		String ss[] = new String(arr).split("["+s.charAt(0)+s.charAt(1)+s.charAt(2)+"]");
		StringBuffer sb = new StringBuffer();
		for (String string : ss) {
			sb.append(string);
		}
		return s+sb;
	}
}

然是加密过的火星文),要通过一定的规则把火星文解密,每个火星文字符都会变成一个对应的火星文字符。 如果“加密信息”是“ACM”,则加密规则如下: A C M B D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 你可能会发现在“加密信息”——“ACM”排在了最前面,26个火星文字符除此之外依次排列在其后。于是每个字符形成了一一对应的关系。如上对应‘A’->‘A’,‘C’->‘B’,‘M’->‘C’,‘B’->‘D’,以此类推。小写字符也相同‘a->‘a,‘c->‘b’,‘m->‘c’,‘b’->‘d’。

输入格式:

多组输入。第一行输入一个字符串,表示“加密信息”(全部为大写英文字符,且任意两个字符不相同,比如“AAB”)。第二行输入一个整数n(1<=n<=10)代表正文的行数。接下来n行,每行输入一个字符串,表示一行正文(字符串长度小于200)。

输出格式:

除加密信息外,输出n行,每行是被解密的正文。

输入样例:

ACM
2
ee ff gg jj kk aa bb cc mm dd
H al wanf zah
WCM
1
FW Fw

输出样例:

在这里给出相应的输出。例如:

ff gg hh kk ll aa dd bb cc ee
I am wang zai
HA Ha

AC代码

你可能感兴趣的:(PTA程序设计)