2017華為筆試題3
一、拼音與英文互相轉換的函式
1.1 題目
編寫一個拼音與英文互相轉換的函式,如果輸入的電話號碼是英文單詞,輸出對應的電話號碼的中文拼音。如果輸入的電話號碼是中文拼音,輸出對應的電話號碼的英文單詞。
例如:輸入“DoubleOneTwoThreeFour”,則輸出”YiYiErSanSi“。
1.2 拼音、英文讀法表
Yi Er San Si Wu Liu Qi Ba Jiu
One Two Three Four Five Six Seven Eight Nine
- 注意:每個單詞均為大寫字母開關,遇到連續兩個相同數字,輸入可以前面加Double,輸出不可以加Double。
1.3 輸入描述
由首字母大寫組成的字串,表示一個電話號碼的英文單詞或者中文拼音,字元輸入範圍為數字0-9的英文單詞或中文拼音。
1.4 輸出描述
根據輸入字串, 輸出對應的電話號碼字串,如果輸入的電話號碼是英文單詞,輸出對應的電話號碼的中文拼音。如果輸入的電話號碼是中文拼音,輸出對應的電話號碼的英文單詞。
1.5 重要知識點
- 根據map的value值獲取key值
Set<String> kset = map.keySet();
String str="Yi";
for (String ks : kset) {
if ((str.equals(map.get(ks))) {
System.out.print(sk);
}
}
1.6 程式碼實現
public class Main {
public static void main(String[] args) {
solve();
}
public static void solve() {
Map map = new HashMap();
map.put("One", "Yi");
map.put("Two", "Er");
map.put("Three", "San");
map.put("Four", "Si");
map.put("Five", "Wu");
map.put("Six", "Liu");
map.put("Seven", "Qi");
map.put("Eight", "Ba");
map.put("Nine", "Jiu");
map.put("Zero", "Ling");
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
ArrayList list = new ArrayList();
int l = 0;
int r = 0;
String str = null;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) >= 65 && s.charAt(i) <= 90) {
str = s.substring(l, r + 1);
if (i > 0) {
list.add(str);
}
l = i;
} else {
r = i;
}
}
str = s.substring(l, r + 1);
list.add(str);
StringBuilder sb = new StringBuilder();
Set<String> kset = map.keySet();
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals("Double")) {
if(map.containsKey(list.get(i+1))){
sb.append(map.get(list.get(i + 1)));
}else{
for (String ks : kset) {
if ((list.get(i+1)).equals(map.get(ks))) {
sb.append(ks);
}
}
}
} else if (map.containsKey(list.get(i))) {
sb.append(map.get(list.get(i)));
} else if (map.containsValue(list.get(i))) {
for (String ks : kset) {
if ((list.get(i)).equals(map.get(ks))) {
sb.append(ks);
}
}
}
}
System.out.print(sb.toString());
}
}
相關文章
- 2017華為筆試題2筆試
- 華為秋招筆試題筆試
- 3 .NET Core筆試題筆試
- 華為0821筆試第三題筆記-回溯+剪枝筆試筆記
- 2017搜狐筆試題(Java實現)筆試Java
- 2017java筆試題及答案Java筆試
- 華為2019春招筆試題筆試
- 2017騰訊Web前端實習生招聘筆試題總結Web前端筆試
- AI筆試面試題庫-Python題目解析3AI筆試面試題Python
- lightoj 1031 - Easy Game 【區間dp】360 2017筆試程式設計題3GAM筆試程式設計
- 常見Java問題及筆試題(十七)——阿里2017實習生研發題Java筆試阿里
- 華為機試題刷題總結
- 筆試題目——研發工程師筆試題筆試工程師
- 騰訊筆試題筆試
- java筆試題Java筆試
- shell 筆試題筆試
- SQL 筆試題SQL筆試
- 最新Python筆試題2017 涵蓋知識面廣泛Python筆試
- 測試筆試多選題筆試
- 軟體測試筆試題筆試
- 2017 年軟體實施工程師筆試面試題及答案工程師筆試面試題
- 騰訊筆試題集筆試
- php筆試題gtalentPHP筆試
- IT公司筆試題(四)筆試
- c++筆試題C++筆試
- SXF科技筆試題筆試
- linux筆試題Linux筆試
- DBA筆試題(轉)筆試
- DBA筆試試題-考試認證(zt)筆試
- HTML最新面試題(筆試面試題)HTML面試題筆試
- 前端筆試題面試題記錄前端筆試面試題
- 筆試題目——程式設計題筆試程式設計
- JavaScript經典筆試題JavaScript筆試
- Python 筆試 面試題Python筆試面試題
- Unity 筆試題目(一)Unity筆試
- 中興筆試選擇題筆試
- 騰訊筆試題--微信紅包筆試
- android筆試題整理Android筆試