A題之拼音轉數字
阿新 • • 發佈:2017-06-11
scan util length 響應 color sans pop -c 一行
輸入是一個僅僅包括拼音的字符串,請輸出相應的數字序列。轉換關系例如以下:
描寫敘述: 拼音 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) {
執行時間限制:無限制 內存限制: 無限制 輸入: 一行字符串。長度小於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;
} }}
A題之拼音轉數字