題目來源
題目描述
NowCoder生活在充滿危險和陰謀的年代。爲了生存,他首次發明了密碼,用於軍隊的消息傳遞。假設你是軍團中的一名軍官,需要把發送來的消息破譯出來、並提供給你的將軍。
消息加密的辦法是:對消息原文中的每個字母,分別用該字母之後的第5個字母替換(例如:消息原文中的每個字母A 都分別替換成字母F),其他字符不 變,並且消息原文的所有字母都是大寫的。密碼中的字母與原文中的字母對應關係如下。
密碼字母: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
原文字母: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
題目解析
這裏採用運算的方式,原文和密碼的關係是:密碼字符是原文字符的往後第5個字母,可以通過運算進行轉換。
題目解答
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String str=sc.nextLine();
char[] ch=str.toCharArray();
for(int i=0;i<ch.length;i++){
char c=ch[i];
if('A'<=c){
c=(char)('E'<c?(c-5):(c+21));
ch[i]=c;
}
}
System.out.println(new String(ch));
}
}
}