A题之拼音转数字
来源:互联网 发布:java定义枚举型变量 编辑:程序博客网 时间:2024/04/26 16:08
输入是一个只包含拼音的字符串,请输出对应的数字序列。转换关系如下:
描述: 拼音 yi er san si wu liu qi ba jiu
阿拉伯数字 1 2 3 4 5 6 7 8 9
输入字符只包含小写字母,所有字符都可以正好匹配
运行时间限制:无限制
内存限制: 无限制
输入: 一行字符串,长度小于1000
输出: 一行字符(数字)串
样例输入: yiersansi
样例输出: 1234
思路:
1)<拼音,数字>作为键值对,保存在hashmap中
2)字符串循环,从hashmap中取出响应的数字
Java解法:
import java.util.HashMap;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin=new Scanner(System.in);HashMap<String, Integer> hashMap=new HashMap<>();hashMap.put("yi", 1);hashMap.put("er", 2);hashMap.put("san", 3);hashMap.put("si", 4);hashMap.put("wu", 5);hashMap.put("liu", 6);hashMap.put("qi", 7);hashMap.put("ba", 8);hashMap.put("jiu", 9);
while(cin.hasNext()){
func(hashMap, cin.next());
break;
}
}
public static void func(HashMap<String, Integer> hashMap, String str)
{
int k1=0;int k2=2;//System.out.println(hashMap.get("111"));while(k2<=str.length()){
if (hashMap.get(str.subSequence(k1, k2))!=null){
System.out.print(hashMap.get(str.subSequence(k1, k2)));
}else {
k2++;
if (hashMap.get(str.subSequence(k1, k2))!=null)
{
System.out.print(hashMap.get(str.subSequence(k1, k2)));
}
}
k1=k2;
k2+=2;
}}
}
0 0
- A题之拼音转数字
- 华为机试题之拼音转数字
- 拼音转数字
- 拼音转数字
- 拼音转数字
- 【c++】拼音转数字
- 数字拼音转数字
- 2016.3.18华为上机题:拼音转数字
- 华为机试:中文整数读法的拼音转数字
- 基本功练习_2_24_3之字符串转数字
- Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)
- oracle学习之to_number方法(字符串转数字)
- LeetCode OJ 之 String to Integer (atoi字符串转数字)
- C++学习之字符串转数字,数字转字符串
- msyql varchar转数字
- 从字符串转数字
- 中文转数字
- js字符串转数字
- UIScrollView+UIPageControl
- 并行编程(2) - sum.msic.Unsafe 二
- POJ 2251 Dungeon Master(BFS+数据读取)
- java 合并文件夹下多个文件
- 紫外线杀菌器:采用紫外线技术生产纯化水
- A题之拼音转数字
- iOS 常用小功能——发短信
- BULK INSERT的使用,FIRSTROW的赋值
- HDU 3634 City Planning (离散化)
- 图结构练习——BFSDFS——判断可达性
- SQLiteDatabase事务
- hdu 1312 Red and Black
- Log4j配置为何失效
- 两路合并排序