“战疫杯”大学生程序设计 语音设备是否正常 map
分析
注意题目最后一句话要求,按照字典序去输出姓名,刚开始没看见这个条件,读题要细心。用HashMap去存进入的角色(也可以不用,用数组标记也可以,用set也可以),然后遍历这八个角色,看哪一个没包含,可以加进TreeSet集合中,因为他可以自动给你排序,最后输出即可。
import java.util.HashMap; import java.util.Scanner; import java.util.TreeSet; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); String[] name = { "Captain", "Priest", "Cook", "Doctor", "Engineer", "Hunter", "Gunner", "Navigator"}; HashMap<String, Integer> map = new HashMap<>(); map.put(sc.next(), 1); int n = sc.nextInt(); for (int i = 0; i < n; i++) { String s = sc.nextLine(); String ss = s.split(":")[0]; map.put(ss, 1); } TreeSet<String> t = new TreeSet<>(); for (int i = 0; i < 8; i++) { if (!map.containsKey(name[i])) t.add(name[i]); } if (t.size() == 0) System.out.println("Ready"); else { for (Object o : t) System.out.println(o); } } }