zoukankan      html  css  js  c++  java
  • 华为2015 简单 字典输入法 java

    题目摘自http://blog.csdn.net/dongyi91/article/details/38639915 写了2个小时,水平太菜了

    入法的编码原理为:根据已有编码表,当输入拼音和数字后输出对应的字符。例如:

    有如下编码:喜_xi      洗_xi    系_xi     无_wu    五_wu(字符和拼音之间用下划线隔开),那么当输入xi2时,结果为拼音位xi的第二个字符,即“洗”。

    输入:Code

                喜_xi

                洗_xi

                系_xi

                无_wu

                五_wu

                Search

                xi2

                End

    输出:洗

    注意:当在编码表中查询不到时,结果为“Error”;当输入的拼音没有数字,即"xi"时,输出结果为:拼音为xi的前若干个字符,但是最多输出5个,即输出:喜;洗;系。

    考察点:字符串的分割、字符串转化为整型、multimap的使用(key为拼音,value为对应字符)。






    package 华为机试; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Scanner; public class Main4 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scn=new Scanner(System.in); //读取code HashMap<String,ArrayList<String>> hash=new HashMap<String,ArrayList<String>>(); String cur=scn.next(); while(!cur.equals("Search")) { String s[]=cur.split("_"); // System.out.println(s[0]+"--"+s[1]); if(hash.get(s[1])==null) { ArrayList arry=new ArrayList<String>(); arry.add(s[0]); hash.put(s[1],arry); } else { hash.get(s[1]).add(s[0]); } cur=scn.next(); } //输出hash值 /* Iterator<String> iter=hash.keySet().iterator(); while(iter.hasNext()) { System.out.println(iter.next()); } */ cur=scn.next(); while(!cur.equals("End")) { char last=cur.charAt(cur.length()-1); System.out.println("cur"+ last); //分离出数字 if(last>='0'&&last<='9') //最后一位是是否有数字 { int i; for( i=0;i<cur.length();i++) { char c=cur.charAt(i); if(c>'0'&&c<='9') break; } String key=cur.substring(0,i); int pos=Integer.valueOf(cur.substring(i)); if(hash.get(key)==null) System.out.println("Error"); else { System.out.println(hash.get(key).get(pos)); } } else //不是数字直接输出前5个,如果有的话 { int count=0; for(String s:hash.get(cur)) { System.out.println(s); count++; if(count==5) break; } } cur=scn.next(); } } }

      

  • 相关阅读:
    Silverlight开发历程—动画(实现跑马灯效果)
    将小写金额转换成为大写
    Silverlight—C#代码实现变形特效
    Silverlight开发历程—C#代码添加动画
    Silverlight开发历程—动画(线性动画)
    仿腾讯登录验证码
    光线CMS系统,如何显示幻灯片
    Winform打开窗口时出现“确保已安装文件类型.cs的应用程序”的解决方法
    #2003 – 服务器没有响应 MySQL 无法启动
    根据对方提供的URL获取返回的数据流并保存为XML
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/3953157.html
Copyright © 2011-2022 走看看