问题描述
小蓝是一个热爱阅读的年轻人,他有一个小型图书馆。为了能够管理他的书籍库存,他需要一个程序来记录图书的信息并执行两种操作:添加图书 addadd 和查找作者 findfind。
初始小蓝没有书,给出 nn 个操作。addadd 操作给出两个字符串 bookname,authorbookname,author,表示添加的图书图书名和作者;findfind 操作给出一个字符串 authorauthor,你需要输出小蓝的图书馆里这个 authorauthor 有多少本图书。
输入格式
第一行一个整数 nn,表示有 nn 个操作。
之后 nn 行,给出操作及后面的参数,如题所述。
给出的字符串长度 lenlen 不超过 1010。
输出格式
对每一个 findfind 操作,你需要输出这个作者在小蓝的图书馆有多少本书,注意是书的数量,不是不同书的数量,同时不同作者可能出现同名的书。
package com.cjh.lanqiao;
import java.util.HashMap;
import java.util.Scanner;
//小蓝的图书馆
public class Main77 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
//key存作者,value存书籍数量
HashMap<String, Integer> map = new HashMap<String,Integer>();
for (int i = 0; i < n; i++) {
String string = scanner.next();
if (string.equals("find")) {
//如果输入的是查找书籍数量
String author = scanner.next();
if (map.containsKey(author)) {
System.out.println(map.get(author));
}else {
System.out.println(0);
}
}else {
//如果输入的是添加书籍
String book = scanner.next();
String author = scanner.next();
if (map.containsKey(author)) {
map.put(author, map.get(author) +1);
}else {
map.put(author, 1);
}
}
}
}
}