日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

华为OD机试 九宫格按键输入法

發布時間:2024/1/1 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 华为OD机试 九宫格按键输入法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

九宮格按鍵輸入,輸出顯示內容,有英文和數字兩個模式,默認是數字模式,數字模式直接輸出數字,

英文模式連續按同一個按鍵會依次出現這個按鍵上的字母,如果輸入 ‘/’ 或者其他字符,則循環中斷。

字符對應關系如圖所示。

要求輸入一串按鍵,輸出屏幕顯示內容。

輸入描述

輸入范圍為數字 0~9 和字符 ‘#’、’/’,輸出屏幕顯示,例如:

在數字模式下,輸入 1234,顯示 1234

在英文模式下,輸入 1234,顯示,adg

輸出描述

#用于切換模式,默認是數字模式,執行 # 后切換為英文模式;

/ 表示延遲,例如在英文模式下,輸入 22/222,顯示為 bc;

英文模式下,多次按同一鍵,例如輸入 22222,顯示為 b;

示例 1

輸入

123

輸出

123

示例 2

輸入

#22/23044444411

輸出

bad i.

JAVA參考代碼:

import java.util.HashMap; import java.util.Map; import java.util.Scanner;public class JiuGongGe {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String input = scanner.nextLine();scanner.close();String result = getDisplayResult(input);System.out.println(result);}private static String getDisplayResult(String input) {Map<Character, String> characterStringMap = buildMap();boolean isNumber = true;StringBuffer stringBuffer = new StringBuffer();int inputLength = input.length();for (int i = 0; i < inputLength; i++) {char ch = input.charAt(i);// # 切換輸入法if (ch == '#') {isNumber = !isNumber;continue;}// '/' 不拼接if (ch == '/') {continue;}// 數字直接拼接if (isNumber) {stringBuffer.append(ch);continue;}// 英文輸入法拼接 空格if (ch == '0') {stringBuffer.append(" ");continue;}// 英文輸入法時:統計重復字符數量int repeatCharNum = getRepeatCharNum(input, inputLength, ch, i);// 向右移動指針,將重復的字符剔除(連續重復字符最終只輸入一個字符)i = i + repeatCharNum;// 1 對應 ",.", 2 對應 "abc" 等String ziMu = characterStringMap.get(ch);if (repeatCharNum > 0) {int i1 = repeatCharNum % ziMu.length();stringBuffer.append(ziMu.charAt(i1));} else {// 沒有重復字母直接輸出stringBuffer.append(ziMu.charAt(repeatCharNum));}}return stringBuffer.toString();}private static int getRepeatCharNum(String input, int inputLength, char ch, int i) {int repeatCharNum = 0;for (int j = i + 1; j < inputLength; j++) {char next = input.charAt(j);// '/'表示中斷連續if (next == '/') {break;}// 當前字符不等于下一個字符if (ch != next) {break;}repeatCharNum++;}return repeatCharNum;}private static Map<Character, String> buildMap() {Map<Character, String> map = new HashMap<>();map.put('1', ",.");map.put('2', "abc");map.put('3', "def");map.put('4', "ghi");map.put('5', "jkl");map.put('6', "mno");map.put('7', "pqrs");map.put('8', "tuv");map.put('9', "wxyz");return map;} }

總結

以上是生活随笔為你收集整理的华为OD机试 九宫格按键输入法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久无码国产精品一区 | 亚洲男人天堂2022 | 伊人免费在线 | 欧美日韩首页 | 中文国语毛片高清视频 | 亚洲午夜在线视频 | 久久久久99精品成人片试看 | 图片区偷拍区小说区 | 涩涩小网站 | 国产有码在线观看 | 亚洲国产成人精品一区二区三区 | 网址在线观看你懂的 | 国产女人叫床高潮大片免费 | 日本jizz在线观看 | 国产精品av久久久久久无 | 久草福利在线视频 | 中文字幕乱妇无码av在线 | 天堂网在线看 | 成人久久影院 | 国产精品国产三级国产普通话对白 | 亚洲天堂热 | 日本一二三不卡 | 住在隔壁的她动漫免费观看全集下载 | 欧美浪妇xxxx高跟鞋交 | 色一情一区二 | 成人免费国产 | 丁香婷婷六月 | 91黄色国产 | 成人综合在线视频 | 久久6视频| 自慰无码一区二区三区 | 亚洲人成网站999久久久综合 | a免费在线 | 三上悠亚在线一区 | 亚洲一一在线 | 国产激情久久久 | 日本一区二区欧美 | 一区二区成人精品 | 免费超碰在线观看 | 老鸭窝一区二区 | 亚洲成人av一区二区 | 午夜性福利视频 | 国产亚洲美女精品久久久2020 | 大学生三级中国dvd 日韩欧美一区二区区 | 精品人妻一区二区三区久久嗨 | 超碰在线小说 | 姐姐你真棒插曲快来救救我电影 | 久久综合狠狠综合久久综合88 | 免费成人深夜夜行p站 | 青青国产精品 | 欧美日韩福利视频 | 夜色精品 | 草逼视频免费看 | 五月婷婷天堂 | 蜜臀久久99精品久久久无需会员 | 91成人精品国产刺激国语对白 | 午夜一区二区三区 | 非洲一级黄色片 | 国产在线观看免费视频今夜 | 中文字幕一区二区三区在线视频 | 欧美日韩一区二区三区 | 日本精品久久久久中文字幕 | 无码人妻aⅴ一区二区三区日本 | 久久视| 爱爱视频网 | 亚洲欧美精品suv | 亚洲欧美综合精品久久成人 | 欧美69影院| avtt在线播放| 亲子伦视频一区二区三区 | av加勒比在线 | 91精品久久久久久久久 | 黑人一级 | 四虎影院在线 | 亚洲iv一区二区三区 | 精品久久九九 | 欧美淫视频 | 国产人与禽zoz0性伦 | youjizz国产精品 | 乌克兰性极品xxxhd | 色婷婷色综合 | 亚洲精品一区二区三区蜜桃 | 亚洲精品久久久久久宅男 | 亚洲清纯国产 | 最新中文字幕 | 欧美性插插 | 亚洲激情一区二区 | 深夜av | 亚洲а∨天堂久久精品2021 | 精品肉丝脚一区二区三区 | 男人与雌宠物交h | 亚洲精品久久久久久无码色欲四季 | 色婷婷久久一区二区三区麻豆 | 亚洲国产视频一区二区三区 | 在线免费一区 | 亚欧在线 | 久久久亚洲国产 | www.99av| 中文无码精品一区二区三区 |