蓝桥杯-9-3摩尔斯电码(java)
来源:互联网 发布:求100以内的素数算法 编辑:程序博客网 时间:2024/04/30 18:40
算法提高 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.Scanner; public class Main { public char Getchar(String A){ //这里if多了,想的话自己改改 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 void Getsentence(String ch){ String str1; StringBuilder[] str = new StringBuilder[1000]; int j=0,count = 0; str[j] = new StringBuilder(); for(int i=0;i<ch.length();i++){ if(ch.charAt(i)=='|'){ j++; str[j] = new StringBuilder(); //看懂这个就可以 count=j; } else{ String str2 = String.valueOf(ch.charAt(i)); //将char转换为string类 str[j].append(str2); } } for(int k=0;k<=count;k++){ str1 = str[k].toString(); //将Stringbuilder类转换为string类 char temp = Getchar(str1); System.out.print(temp); } } public static void main(String[] args) { Main test = new Main(); Scanner sc = new Scanner(System.in); String ch = sc.nextLine(); test.Getsentence(ch); } }
0 0
- 蓝桥杯-9-3摩尔斯电码(java)
- 蓝桥杯 算法提高 9-3摩尔斯电码(Java解题)
- 蓝桥杯摩尔斯电码
- 蓝桥杯算法提高 9-3摩尔斯电码
- 蓝桥杯 ADV-226 算法提高 9-3摩尔斯电码
- 蓝桥杯 算法提高 9-3摩尔斯电码 ADV-226
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码 map
- 摩尔斯电码
- 摩尔斯电码
- 摩尔斯电码
- 摩尔斯电码 — 摩尔斯密码
- java 数据库优化(一)
- 【C++学习笔记】vector和array
- leetcode 91
- 安卓请求后台中文乱码
- QT:Qt的背景与软件安装
- 蓝桥杯-9-3摩尔斯电码(java)
- QT:QString 字符串和中文字符编码
- 深入浅出递归思想
- ABAP字符对齐
- Vim插件之indentLine
- QT:信号和槽机制
- android网络编程关于Socket和http协议
- java四类八种基本数据类型
- 蓝桥杯-11-1实现strcmp函数(java)