当前位置: 首页 > 后端技术 > Java

CS9053Java

时间:2023-04-01 19:25:27 Java

JavaCS9053部分简介2021年10月29日截止日期:2021年11月5日第I部分:使用堆栈和队列堆栈中的项目。删除后,剩余的项目彼此之间的顺序应相同。例如,如果您有一个包含(从上到下){5,2,7,2,10}的堆栈,如果您使用该方法删除所有出现的2,则生成的堆栈应包含(从上到下)){5,7,10}。重要指南:?您的方法可以使用另一个堆栈或队列来辅助它。它不能使用数组、链表或其他数据结构。在堆栈或队列之间进行选择时,请选择实现效率更高的那个。?您应该假设该方法无权访问集合对象的内部,因此您只能使用我们在讲座中讨论的接口中的方法与它们交互。2.编写一个方法remAllQueue(Queuequeue,Objectitem),它接受一个队列和一个项目,并从队列中删除该项目的所有出现.删除后,剩余的项目彼此之间的顺序应相同。例如,如果您有一个包含(从前到后){5,2,7,2,10}的队列,并且您使用该方法删除所有出现的2,则生成的队列应包含(从前到后){5,7,10}。我们为remAllStack()指定的相同准则也适用于此。第二部分:集合我们喜欢Java中的集合的原因是因为它们帮助我们从数学意义上思考集合,并且我们可以轻松实现数学中存在的集合的功能——例如,设置交集和并集。在Python中,这些集合函数是显式的。在Java中,它们不是,我在演讲中忘记了这一点。创建一个扩展HashSet的类MathSet。它应该有三个方法:publicSetintersection(Sets2):取一个Set,s2,并返回Set和s2的交集——两个集合中的元素。publicSetunion(Sets2):取一个Set,s2,并返回Set和s2的联合——所有元素的组合。publicSet>cartesianProduct(Sets2)我为此提供了一个Pair类。返回基集s和s2的笛卡尔积:s×s2:两个集合A和B的笛卡尔积,写为A×B,是包含来自A和B的有序对的集合。也就是说,如果C=A×B,则C的每个元素的形式为(x,y),其中x∈Aandy∈B:A×B={(x,y)|x∈Aandy∈B}。例如,如果A={1,2,3}且B={H,T},则A×B={(1,H),(1,T),(2,H),(2,T),(3,H),(3,T)}请注意,这里的对是有序的,例如,(1,H)≠(H,1)。因此A×B与B×A不同。第三部分:MapsAMap创建Key->Value关系。每个Key都是独一无二的,bu不同的键可能映射到相同的值。从一个Map开始并实现一个静态方法“getInverted”,该方法接受一个Map对象并返回一个映射,该映射反转原始Map对象并将值映射到键。由于单个Value可能有多个与之关联的Key,因此反向Map的类型将为Map>第IV部分:图形您将创建一个“掷骰子”应用程序。它看起来像这样:它的工作方式是当您单击“掷骰子”按钮时,两个骰子的值都会改变。届时,它将显示骰子的总和。如果您单击一个骰子,它将“滚动”那个骰子,然后更新总数。提示:由于可用的“骨架”代码很少,请修改“ImagePanel”代码。ActionListeners/MouseListeners将更新ImagePanel和repaint()中的图像。“掷”骰子意味着选择一个介于0和5之间的随机数,然后选择一个图像进行display基于那个.WX:codehelp