已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LightInTheB 工程师笔试试题-JAVA一、 概念题1、 解释什么是队列(queue),什么栈(stack),有何区别?队列是一种特殊的线性表,他按照先进先出的原则存储数据。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。2、 用C/C+或者Php,或Java,给出例子,解释什么是异常(exception)?3、 简述HashMap、HashSet、HashTable的区别。Hashtable类Hashtable继承Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key或者value。HashMap类HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null,即null value和null key,null key只能有一个。HashSet类HashSet继承Set接口。Set是一种不包含重复的元素的Collection。4、public、protect和private的区别是什么?二、 数据库相关题试设计一个商品相关数据库,要求包括商品类别、商品的基本信息,并完成下面的三个查询。1、请写出创建相关表的SQL语句。2. 使用标准SQL,得到2008年1月份入库的所有商品信息。 3. 使用标准SQL,得到“Toy”分类下的所有商品信息。 4. 使用标准SQL,统计出所有包含商品价格低于100.00的分类。三、 程序填空题。阅读下列说明、图以及Java程序,将应填入_(n)_处的字句写在答题纸的对应栏内。1、说明某订单管理系统的部分UML类图如图1-1所示 图4-1 订单管理系统的部分类图 图1-1中,Product表示产 品,ProductList表示所销售产品的列表,Order表示产品订单,0rderltem表示产品订单中的一个条目,OrderList表示订单列 表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如表1-1所示。 表1-1 类 成员 说明 ProductList ArrayList(Product) products Product String String code 产品编号 description 产品描述 double price 产品单价 Boolean equals(Object object) 若两个产品相同则返回true,否则返回false Orderltem Product product 订单项中的产品 int quantity 产品的订购数量 Product getProduct() 获取订单项中的产品 Order ArrayList(Orderlten) items 订单中包含的订单项 OrderList ArrayList(Order)orders 订单 void addOrder(0rder order) 向订单列表中添加新订单 int getNumberOfOrders() 获取订单列表中的订单总数 SalesSystem ProductList catalog 产品目录 OrderList sales订单列表void statistic()依次统计产品目录中每个产品的订购总量,并打印 出每个产品的编号、说明、订购总量和订购金额可以使用类javautil。ArrayList来实现对象的聚集关系,如图4-1中OrderList与Order之间的聚集关系。for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合以及用来接收集合中每个元素的变量,其语法如下:for(用来接收集合中元素的变量:需要遍历的对象集合),如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable。Java程序1-1和Java程序1-2分别给出了类OrderList和方法statistic的Java代码。Java程序1-1 import java.util.*; public class OrderList _(1)_ private ArrayList orders; public OrderListO this.orders = new ArrayList(Order) 0; public void addOrder(Order order) this.orders, add (order); public Iterator iteratorO return _(2)_; public int getNunberOfOrders() return this.orders. size(); Java程序1-2 import java.util.*;public class SalesSystem private ProductList catalog;private OrderList sales;private static PrintWriter stdOut = new PrintWriter(System.out,true); public void statistic()for(Product product : _(3)_ int number = 0; for(Order order : _(4)_ for(_(5)_ : order) ifproduct.equals(item.getProduct()numbe r += item.getQuantity();stdOut.println(product.getCode() + + product.getDescription() + + number + + number *productgetPrice();/其余的方法未列出2、说明传输门是传输系统中的重要装置。传输门具有 Open(打开)、Closed(关闭)、Opening(正在打开)、StayOpen(保持打开)、Closing(正在关闭)五种状态。触发状态的转换事件有 click、complete 和 timeout 三种。事件与其相应的状态转换如图 2-1 所示。 图 2-1 传输门响应事件与其状态转换图下面的Java 代码 1与Java 代码 2分别用两种不同的设计思路对传输门进行状态模拟,请填补代码中的空缺。Java 代码 1public class Door public static final int CLOSED = 1; public static final int OPENING = 2; public static final int OPEN = 3; public static final int CLOSING = 4; public static final int STAYOPEN = 5; private int state = CLOSED;/定义状态变量,用不同的整数表示不同状态private void setState(int state)this.state = state;/设置传输门当前状态public void getState()/ 此处代码省略,本方法输出状态字符串, / 例如,当前状态为 CLOSED 时,输出字符串为”CLOSED”public void click() /发生 click 事件时进行状态转换if ( (1) ) setState(OPENING);else if ( (2) ) setState(CLOSING);else if ( (3) ) setState(STAYOPEN);/发生 timeout 事件时进行状态转换public void timeout() if (state = OPEN) setState(CLOSING); public void complete()/发生 complete 事件时进行状态转换if (state = OPENING) setState(OPEN);else if (state = CLOSING) setState(CLOSED);public static void main(String args)Door aDoor = new Door(); aDoor.getState(); aDoor.click(); aDoor.getState(); aDplete(); aDoor.getState(); aDoor.click(); aDoor.getState(); aDoor.click(); aDoor.getState(); return; Java 代码 2public class Door public final DoorState CLOSED = new DoorClosed(this);public final DoorState OPENING = new DoorOpening(this);public final DoorState OPEN = new DoorOpen(this);public final DoorState CLOSING = new DoorClosing(this);public final DoorState STAYOPEN = new DoorStayOpen(this);private DoorState state = CLOSED; /设置传输门当前状态public void setState(DoorState state) this.state = state; public void getState()/根据当前状态输出对应的状态字符串System.out.println(state.getClass().getName();public void click() (4) ;/发生 click 事件时进行状态转换public void timeout() (5) ;/发生 timeout 事件时进行状态转换public void complete() (6) ;/发生 complete 事件时进行状态转换public static void main(String args)Door aDoor = new Door();aDoor.getState();aDoor.click();aDoor.getState();aDplete();aDoor.getState();aDoor.timeout();aDoor.getState();return;public abstract class DoorState /定义所有状态类的基类protected Door door ;public DoorState(Door door
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国南水北调集团新能源投资有限公司本部相关岗位招聘4人笔试历年参考题库附带答案详解
- 商洽客户回款账期协商商洽函4篇
- 2026四川内江市隆昌市第一实验小学招聘考试备考题库及答案详解
- 2026年陕西煤业化工集团下属子公司招聘(1431人)笔试参考试题及答案详解
- 2026年东莞银行东莞分行招聘笔试参考题库及答案详解
- 2026四川广元经济技术开发区招聘16名编外聘用人员的笔试备考题库及答案详解
- 2026辽宁营口市大石桥市望山息园招聘员工4人考试备考试题及答案详解
- 2026年陕西警察学院招聘硕士学历工作人员(10人)笔试备考题库及答案详解
- 2026年甘肃酒泉敦煌市市属国有企业招聘财务工作人员22人考试备考试题及答案详解
- 中国混炼胶市场投资可行性及发展风险策略探讨研究报告
- 2025兴业银行总行国际业务部/交易银行部招聘笔试历年典型考题及考点剖析附带答案详解
- 2026年人教版七年级下册生物期末学业水平卷(含答案可下载)
- 2026年安徽省中考数学试卷(含答案及解析)
- 2026浙江宁波市海曙发展控股集团有限公司招聘工作人员6人笔试参考题库及答案详解
- 市场监督管理局涉企收费专项检查工作手册(标准版)
- 外研版初中英语七年级下册期末检测卷(含答案)
- (2026版)《中国国家铁路集团有限公司铁路旅客运输规程》解读课件
- 2026年西双版纳旅游行业分析报告及未来发展趋势报告
- 2026年教科版小学科学五年级下册期末综合测试卷及答案
- 2025年广东省惠州市惠阳区中考一模语文试题(含答案)
- 尿管留置的并发症预防与管理
评论
0/150
提交评论