二战期间,战争国间谍活动非常密切,所有英国间谍(BritishSpy)有讲英语的特点(speak()方法),所有德国间谍(GermanSpy)都具有讲德语的特点(sprechen方法)。还有一种双重间谍(DoubleSpy),既可以讲英语又可以讲德语.情报机关(Agency)具有一个间谍测试方法,可以传入某个间谍,并判断间谍的类型。创建德国间谍、英国间谍和双重间谍分别进行测试。(20分)。
仅供参考package chapter_forth; /** * 抽象出间谍接口 * @author: HP * @date: 2021年09月27日 10:11 */ public interface SpyAPI { } package chapter_forth; /** * 英国间谍 */ public interface BritishSpy extends SpyAPI{ default String speak() { return "该类型间谍讲英语"; } } package chapter_forth; /** * 德国间谍 */ public interface GermanSpy extends SpyAPI{ default String sprechen() { return "该类型间谍讲德语"; } }package chapter_forth;/** * 双重间谍 */public class DoubleSpy implements GermanSpy, BritishSpy{}package chapter_forth; /** * 情报机关(Agency) * @author: HP * @date: 2021年09月27日 9:58 */ public class Agency { /** * 判断间谍类型 * @param spyAPI 传入间谍 */ public String judgeSpyType(SpyAPI spyAPI) { String type = null; if (spyAPI instanceof BritishSpy) { BritishSpy britishSpy = (BritishSpy) spyAPI; String result = britishSpy.speak(); if (!result.isEmpty() && result.contains("英语")) { type = "英国间谍"; } } if (spyAPI instanceof GermanSpy) { GermanSpy germanSpy = (GermanSpy) spyAPI; String result = germanSpy.sprechen(); if (!result.isEmpty() && result.contains("德语")) { type = "德国间谍"; } } if (spyAPI instanceof DoubleSpy) { DoubleSpy doubleSpy = (DoubleSpy) spyAPI; if (!doubleSpy.sprechen().isEmpty() && doubleSpy.sprechen().contains("德语") && !doubleSpy.speak().isEmpty() && doubleSpy.speak().contains("英语")) { type = "双重间谍"; } } return type; } /** * 德国情报处的间谍测试方法,调用讲德语的方法 * @param germanSpy */ public Boolean inGermany(GermanSpy germanSpy) { String result = germanSpy.sprechen(); if (!result.isEmpty() && result.contains("德语")) { return true; } return false; } } package chapter_forth; /** * 间谍测试 * @author: HP * @date: 2021年09月27日 10:07 */ public class SpyTest { private static Agency agency = new Agency(); public static void main(String[] args) { SpyAPI spy1 = new BritishSpy(){}; GermanSpy spy2 = new GermanSpy(){}; DoubleSpy spy3 = new DoubleSpy(); System.out.println("spy1是" + agency.judgeSpyType(spy1)); System.out.println("spy2是" + agency.judgeSpyType(spy2)); System.out.println("spy3是" + agency.judgeSpyType(spy3)); } }
举一反三
- 【简答题】创建以下类,要求: 英国间谍、德国间谍、双重间谍、情报机关 英国间谍讲英语 德国间谍讲德语 双重间谍既讲英语也讲德语 情报机关拥有间谍测试方法,可以传入间谍,对其进行语言测试,看是否为某个国家的间谍。 传入英国间谍,调用英语说话方法,根据间谍所说的语言输出结果:是否为英国间谍。 传入德国间谍,调用德语说话方法,根据间谍所说的语言输出结果:是否为德国间谍。 创建英国间谍和德国间谍,分别对其进行测试。 创建双重间谍,看看能否同时通过两个国家情报机关的测试
- 反间谍组织已知: A: 乙和丁都是间谍。 B: 乙和丁都不是间谍。 C: 乙是间谍,丁不是间谍。 D: 乙不是间谍,丁是间谍。 E: 乙和丁至少有一个是间谍。
- 反间谍组织已知: (1)如果甲和乙都是间谍,则丙就不是间谍; (2)如果丁是间谍,则乙就是间谍; (3)甲和丙都是间谍。 如果上述断定为真,以下哪项必然是真的 A: 乙和丁都是间谍 B: 乙和丁都不是间谍 C: 乙是间谍,丁不是间谍 D: 乙不是间谍,丁是间谍 E: 乙和丁至少有一个是间谍
- 2020年,国家安全机关组织实施“ ”专项行动,依法打击台湾间谍情报机关渗透破坏活动,破获数百起间谍窃密案件,抓获一批台湾间谍及运用人员,打掉台湾间谍情报机关针对祖国大陆布建的间谍情报网络,有效维护了国家安全和利益。
- 【间谍】是什么意思,【间谍】的释义
内容
- 0
什么是间谍组织和间谍组织代理人?
- 1
以下哪项是英国的间谍机关?()
- 2
间谍软件具有计算机病毒的所有特征。
- 3
间谍组织的特点
- 4
行为人虽参加了间谍组织,具有间谍身份,但该人参加间谍组织是为了针对其他国家,负有针对其他国家的间谍任务,而并不是针对危害中华人民共和国国家安全而参加间谍组织的,对这种人也应当按间谍罪予以追究。()