题目:
小B平时喜欢倒腾一些小东西,最近他准备给自己做的小机器人加入一套语音控制的功能,每个指令对应一个动作。
由于语言转文字有很多现成的方案,所以小B打算直接复用这些方案,但是语音转成了文字之后,还需要将文字跟具体的动作对应起来。
因此小B需要实现一个函数,将语音转换出来的文字,再转换成相应的动作。
为了简单实现,小B将语音直接转成了拼音,然后把对应的动作也都起了名字,因此只要预先输入好两者的映射关系,然后输入语音指令就输出相应的动作。
然而因为小B的函数有bug,机器人并不想听他的话…
你能帮小B解决这个问题吗?
输入:
2 2
Zuo Left
You Right
You
Zuo
输出:
Left
Right
方法:HashMap存储法
将读取到的字符串成对的存在HashMap中,然后再将后续输入的值在其中遍历,如果不为空就输出对应的
代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int num = sc.nextInt();//总数
int num2 = sc.nextInt();
Map<String,String> map = new HashMap<>();
while(num2!=0){
String str = sc.next();
int i;
for (i = 0; i <str.length() ; i++) {
if(str.charAt(i)==' ') break;
}
map.put(str.substring(0,i),str.substring(i+1,str.length()));
num2--;
}
for (int i = 0; i <num ; i++) {
String str1 =sc.next();
System.out.println(map.get(str1));
}
}
}