• 华为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(); } } }

      

  • 相关阅读:
    图片懒加载
    文字表情转换成小图标
    页面跳页面的参数获取
    vue v-for里面再套v-if和v-esle
    滚动条样式的修改
    vue-cil生产环境和发布环境的配置
    css隐藏滚动条并且可以滑动
    vue-cli脚手架一些插件安装elementui和axios
    闭包
    定时器、运动、日历
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/3953157.html
Copyright © 2020-2023  润新知