Java實現 運用HashMap的映射快速編寫 摩爾斯電碼

Java實現 運用HashMap的映射快速編寫 摩爾斯電碼

算法提高 9-3摩爾斯電碼
時間限制:1.0s 內存限制:256.0MB
提交此題
問題描述
  摩爾斯電碼破譯。類似於喬林教材第213頁的例6.5,要求輸入摩爾斯碼,返回英文。請不要使用"zylib.h",只能使用標準庫函數。用’ * ‘表示’ . ‘,中間空格用’ | '表示,只轉化字符表。
在這裏插入圖片描述

輸入示例:
在這裏插入圖片描述
輸出:
hello

import java.util.HashMap;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next(); // 輸入的字符串
        String[] b = str.split("\\|");  // 以|爲分隔符 生成字符串數組b
        HashMap<String, String> map = new HashMap<>(); //創建一個hashmap存放摩爾斯密碼
        map.put("*-", "a");
        map.put("-***","b");
        map.put("-*-*","c");
        map.put("-**","d");
        map.put("*","e");
        map.put("**-*","f");
        map.put("--*","g");
        map.put("****","h");
        map.put("**","i");
        map.put("*---","j");
        map.put("-*-","k");
        map.put("*-**","l");
        map.put("--","m");
        map.put("-*","n");
        map.put("---","o");
        map.put("*--*","p");
        map.put("--*-","q");
        map.put("*-*","r");
        map.put("***","s");
        map.put("-","t");
        map.put("**-","u");
        map.put("***-","v");
        map.put("*--","w");
        map.put("-**-","x");
        map.put("-*--","y");
        map.put("--**","z");
        // b數組與之key一一匹配輸出值
        for (int i = 0; i < b.length; i++) {
            System.out.print(map.get(b[i])+"");
        }


    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章