【PAT五一线上模拟测试赛】7-3 垃圾分类 (20分) Java和Python

7-3 垃圾分类 (20分)

ljfl.jpg

据香港《南华早报》2019年7月15日文章,上海严格的垃圾分类新规令不少居民抓狂。这催生出大量帮助找出正确分类答案的App和小程序。目前仅微信上就至少有280种与垃圾处理有关的App,在苹果应用商店也达130种。支付宝表示,已有60多家独立App开发商申请为该平台提供类似服务。

本题就请你现场实现一个简单的垃圾分类小助手。

输入格式:
输入首先给出官方分类指南中每种物品的归属。在一行中给出一个正整数 N(≤10
​5
​​ ),即物品数量;随后 N 行,每行给出一个物品名称(长度不超过 10 的、由小写英文字母和下划线组成的字符串)和该物品所属的分类(1 代表干垃圾、2 代表湿垃圾、3 代表可回收物、4 代表有害垃圾)。题目保证所有物品名称无重复。

随后每行给出一个查询物品的名称(格式与指南物品名称相同)。最后一行给出结束符 #,表示查询终止,这一行不需要查询。

输出格式:
对每个查询的物品,在一行中给出其所属分类:Gan laji 代表干垃圾;Shi laji 代表湿垃圾;Ke Hui Shou 代表可回收物;You Hai laji 代表有害垃圾。如果查询的物品不在指南中,则输出 ? 表示不知道。

输入样例:
4
bao_zhi 3
dian_chi 4
dan_ke 2
bei_ke 1
dan_ke
dian_chi
ren_zha
bao_zhi
bei_ke

输出样例:
Shi laji
You Hai laji
?
Ke Hui Shou
Gan laji

代码

import java.util.HashMap;
import java.util.Scanner;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author: 张志浩  Zhang Zhihao
 * @Email: 3382885270@qq.com
 * @Date: 2020/5/1
 * @Time: 19:55
 * @Version: 1.0
 */
public class three {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
        for (int i = 0; i < n; i++) {
            String str = sc.next();
            int num = sc.nextInt();
            hashMap.put(str, num);
        }
        String[] aaa = {"Gan laji", "Shi laji", "Ke Hui Shou", "You Hai laji"};
        while (sc.hasNext()) {
            String a = sc.next();
            if (!a.equals("#")) {
                if (hashMap.get(a) == null) {
                    System.out.println("?");
                } else {
                    System.out.println(aaa[hashMap.get(a) - 1]); //没考虑最后一行换行问题
                }
            }
        }
        sc.close();
    }
}
posted @ 2020-05-01 21:00  爱做梦的子浩  阅读(157)  评论(0编辑  收藏  举报