算法提高 9-3摩尔斯电码
时间限制:1.0s 内存限制:256.0MB
提交此题
问题描述
  摩尔斯电码破译。类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文。请不要使用"zylib.h",只能使用标准库函数。用’ * ‘表示’ . ‘,中间空格用’ | '表示,只转化字符表。

摩尔斯码定义见:http://baike.baidu.com/view/84585.htm?fromId=253988。

提示
  清橙进行评测时,输入是以EOF结尾的,而不是换行符。(EOF不是一个字符,“以EOF结尾”是一种通俗但不严谨的说法。)因此可以通过以下方式之一获取输入:

1. 一次读入整行字符串,再进行后续解析。

2. 使用getchar或scanf一次读入一个字符,通过它们的返回值判断输入结束。
样例输出

import java.util.ArrayList;
import java.util.Scanner;public class 摩尔斯电码 {public static char getOneChar(String A) {char result = 0;if(A.equals("*-"))result = 'a';else if(A.equals("-***"))result = 'b';else if(A.equals("-*-*"))result = 'c';else if(A.equals("-**"))result = 'd';else if(A.equals("*"))result = 'e';else if(A.equals("**-*"))result = 'f';else if(A.equals("--*"))result = 'g';else if(A.equals("****"))result = 'h';else if(A.equals("**"))result = 'i';else if(A.equals("*---"))result = 'j';else if(A.equals("-*-"))result = 'k';else if(A.equals("*-**"))result = 'l';else if(A.equals("--"))result = 'm';else if(A.equals("-*"))result = 'n';else if(A.equals("---"))result = 'o';else if(A.equals("*--*"))result = 'p';else if(A.equals("--*-"))result = 'q';else if(A.equals("*-*"))result = 'r';else if(A.equals("***"))result = 's';else if(A.equals("-"))result = 't';else if(A.equals("**-"))result = 'u';else if(A.equals("***-"))result = 'v';else if(A.equals("*--"))result = 'w';else if(A.equals("-**-"))result = 'x';else if(A.equals("-*--"))result = 'y';else if(A.equals("--**"))result = 'z';return result;}public static String getOneString(char[] A, int start, int end) {StringBuilder result = new StringBuilder("");for(int i = start;i <= end;i++)result.append(A[i]);return result.toString();}public static void printResult(String A) {int len = A.length();if(len < 1)return;char[] arrayA = A.toCharArray();ArrayList<Character> list = new ArrayList<Character>();for(int i = 0;i < len;i++) {int start = i;int end = i;for(;end < len;end++) {if(arrayA[end] == '|')break;}String tempA = getOneString(arrayA, start, end - 1);list.add(getOneChar(tempA));i = end;}//输出最终结果for(int i = 0;i < list.size();i++)System.out.print(list.get(i));}public static void main(String[] args) {Scanner in = new Scanner(System.in);String A = in.nextLine();printResult(A);}}

Java实现 蓝桥杯 算法提高 摩尔斯电码相关推荐

  1. 蓝桥杯 ADV-226 9-3摩尔斯电码 java

    解题思路 拆分成单个的摩尔密码语句,然后对照码表进行获取字母输出即可 参考代码 package 摩尔斯电码;import java.util.Scanner;public class Main {pu ...

  2. Java实现 蓝桥杯 算法提高 小X的购物计划

    试题 算法提高 小X的购物计划 问题描述 小X打算去超市shopping.小X没什么钱,只有N元.超市里有M种物品,每种物品都需要money,在小X心中有一个重要度.有的物品有无限件,有的物品只有几件 ...

  3. Java实现 蓝桥杯 算法提高 奥运会开幕式

    试题 算法提高 奥运会开幕式 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 学校给高一(三)班分配了一个名额,去参加奥运会的开幕式.每个人都争着要去,可是名额只有一个,怎么办?班长 ...

  4. Java实现 蓝桥杯 算法提高 成绩排名

    试题 算法提高 成绩排名 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 小明刚经过了一次数学考试,老师由于忙碌忘记排名了,于是老师把这个光荣的任务交给了小明,小明则找到了聪明的你, ...

  5. Java实现 蓝桥杯 算法提高 快乐司机

    算法提高 快乐司机 时间限制:1.0s 内存限制:256.0MB 问题描述 "嘟嘟嘟嘟嘟嘟 喇叭响 我是汽车小司机 我是小司机 我为祖国运输忙 运输忙" 这是儿歌"快乐的 ...

  6. Java实现 蓝桥杯 算法提高 Monday-Saturday质因子

    试题 算法提高 Monday-Saturday质因子 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 这个问题是个简单的与数论有关的题目,看起来似乎是"求正整数的所有质因子 ...

  7. Java实现 蓝桥杯 算法提高 秘密行动

    试题 算法提高 秘密行动 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 小D接到一项任务,要求他爬到一座n层大厦的顶端与神秘人物会面.这座大厦有一个神奇的特点,每层的高度都不一样, ...

  8. Java实现 蓝桥杯 算法提高 高精度减法(JDK方法)

    试题 算法提高 高精度减法 问题描述 高精度减法 输入格式 两行,表示两个非负整数a.b,且有a > b. 输出格式 一行,表示a与b的差 样例输入 1234567890987654321 99 ...

  9. Java实现蓝桥杯 算法提高 身份证号码升级

    算法提高 身份证号码升级 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位 ...

最新文章

  1. 第一篇博客,纪念一下,终于开通啦!
  2. 孪生素数 java代码_科学网—孪生素数猜想——利用 Java + 正则表达式 输出孪生素数对 - 马廷灿的博文...
  3. 那些为“自主”的研发“
  4. 程序的重定位问题(程序装入)
  5. 关于mysql的一些时间格式和字符的问题
  6. POJ1068 Parencodings(模拟)
  7. 项目的webinf文件在哪_PMP章节练习(第四章:项目整合管理)
  8. Hi3518E_V200 SDK编译笔记 第一季
  9. 利用爬虫大量抓取网页图片
  10. SAP 与 3大财务报表
  11. android 原笔迹,Android-原笔迹手写的探索与开发
  12. 微信 PC(电脑端) 多开批处理
  13. oracle的userenv和nls_lang详解
  14. VC++海康威视视频人数流量统计数据库连接
  15. flash 的鼠标事件详解
  16. Esx host补丁更新
  17. 英语六级作文单词、例句总结
  18. 二手车价格预测实战(一)——数据探索
  19. 面试篇-- Http、TCP/IP协议与Socket之间的区别
  20. 阳关林场的前世今生:结合锁眼卫星(Keyhole[KH])发掘“阳关林场”55年来的变化

热门文章

  1. vue 字符串内容格式化显示并添加序号
  2. 学习OpenCV3:增加图片亮度或对比度消除背景模糊字迹
  3. 自学网络安全,一般人我劝你还是算了吧
  4. uniapp打包app,调用相机功能时在真机调试可以,打包成app之后不行
  5. xfce4设置终端快捷键
  6. 什么是高阶函数?举例说明
  7. 微信支付回调 java_Java微信支付-退款成功异步回调验签
  8. IDEA更改JDK版本
  9. 728 | @烤仔建工又双叒叕来了
  10. Linux学习-87-LNMP一键安装过程