import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
public class Show{
public static void main(String []args) throws NumberFormatException, IOException{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
int row =Integer.parseInt(in.readLine()); //读取一行中的一个整型数字
HashMap <String,String[]> info=new HashMap<String,String[]>(); //创建散列映射
while(row-- >0) {
String[] line=in.readLine().split(" "); //以空格分割
String[] data=new String[2]; //存放准考证号和实际座位号
data[0]=line[0];
data[1]=line[2];
info.put(line[1], data); //以试机座位号码作为索引,data数组作为值,现在所有考生的准考证号、机试座位号、考试座位号都已存放在info散列表中
}
int m=Integer.parseInt(in.readLine());
String[] query=in.readLine().split(" ");
for(int i=0;i<m;i++) {
String[] require=info.get(query[i]);
System.out.println(require[0]+" "+require[1]);
}
}
}
1、标准输入流System.in,用户每输入一个字符,Systetm.in就读取一个字符。为了能一次读取一行用户的输入,使用BufferedReader对用户输入的字符串进行缓冲。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。如果缓冲区数据不足,才会再从文件中读取,使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。readLine()方法会在读取到用户的换行字符时,再一次将整行字符串传入。
2、Trim函数是去除读到的字符串中开头结尾的空格。