最難的問題(Java)

題目來源

最難的問題

題目描述

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));
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章