首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 在股票交易中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。其类图如图6-1所示。相应的Java代码附后。 【Java代码】 import java
阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 在股票交易中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。其类图如图6-1所示。相应的Java代码附后。 【Java代码】 import java
admin
2016-11-11
33
问题
阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
在股票交易中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。其类图如图6-1所示。相应的Java代码附后。
【Java代码】
import java.util.ArrayList;
import java.util.List;
Class Stock{
private String name;
private int quantity;
publiC Stock(String name,int quantity){
this.name=name;this.quantity=quantity;
}
public void buy(){ System.out.println("[买进]:"+name+",数量:"
+quantity);}
public void sell(){System.out.println(”[卖出]:"+name+",数量:"
+quantity);}
}
interface Order{
void execute();
}
class BuyStock_________(1)Order{
private Stock stock;
public BuyStock(Stock stock){___________(2)=stock; }
public void execute(){stock.buy(); }
}
//类SellStock实现和BuyStock类似,略
class Broker{
private List
orderList=new ArrayList
();
public void takeOrder( ___________(3)order){orderList.add(order); }
publiC void placeOrders(){
for(___________(4)order:orderList){ order.execute(); }
orderLiSt.clear();
}
}
public class StockCommand{
public statiC void main(String[]args){
Stock aStock=new Stock("股票A",10);
Stock bStock=new Stock("股票B",20);
Order buyStockOrder=new BuyStock(aStock);
Order sellStockOrder=new SellStock(bStock);
Broker broker=new Broker();
broker.takeOrder(buyStockOrder);
broker.takeOrder(sellStockOrder);
broker.___________(5);
}
}
选项
答案
(1)implements (2)this.stock (3)Order (4)Order (5)placeOrders()
解析
本题考查Java语言程序设计的能力,涉及类、对象、方法的定义和相关操作。要求考生根据给出的案例和代码说明,认真阅读理清程序思路,然后完成题目。
先考查题目说明,在股票交易中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。根据说明进行设计,题目说明中给出了类图。涉及到股票(Stock)、股票代理(Broker)、股票操作指示(StockCommand)、买卖股票(Order接口、BuyStock与SellStock类)等类以及相关操作。
Stock类定义了两个操作buy()和sell(),分别实现买和卖的操作。在构造函数中接收参数name和quantity,分别表示买卖股票的名称和数量,对当前所创建对象中的name和quantity赋值,用this表示区别当前对象,所以构造器为:
public Stock(String name,int quantity){
this.name=name;
this.quantity=quantity;
}
Order接口声明接口execute(),表示执行股票交易(即买和卖)方法接口。
BuyStock实现接口Order:class BuyStock implements Order,构造器接收参数stock,实现方法execute(),进行股票买入,stock.buy()。SellStock和BuyStock类似,实现接口Order,构造器接收参数stock,实现函数execute(),进行股票卖出,stock.sell()。
Broker类实现接收客户的买卖指示tackOrder(),接收BuyStock或者SellStock的实例,BuyStock和SellStock均是Order的实现类,所以BuyStock和SellStock的实例也是Order类型,因此tackOrder()所接收的参数用Order。类型。接收到买卖指示之后,存入List
类型(具体对象类型为ArrayList
)的orderList中:
orderList.push_back(order);
placeOrders()函数是实现将所有买卖股票的指示进行实际买入和卖出操作,即采用for循环,Java自1.5起支持foreach循环,对每个orderList中的Stock实例,调用在BuyStock和SellStock中实现的execute()加以执行。
for(Order order:orderList) {
order.execute();
}
StockCommand主要是根据操作指示进行股票交易,主控逻辑代码实现在main()方法中,其中创建欲进行交易的股票对象aStock和bStock,创建买aStock卖bStock股票的对象buyStockOrder和sellStockOrder对象:
Order buyStockOrder=new BuyStock(aStock);
Order sellStockOrder=new SellStock(bStock);
再创建股票代理Broker类的对象broker,并接收买卖股票的指示:
broker.takeOrder(buyStockOrder);
broker.takeOrder(sellStockOrder);
最后将所有买卖指示用placeOrders()下执行命令:
broker.placeOrders ();
因此,空(1)需要表示实现Order接口的关键字implements;空(2)需要表示当前对象的stock属性,this.stock;空(3)需要BuyStock和SellStock均能表示的所实现的接口类型Order;空(4)需要orderList中每个对象的类型Order并能调用execute();空(5)处为调用placeOrders()。
转载请注明原文地址:https://kaotiyun.com/show/w9jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
(1)是固化在主板ROM内的程序,为计算机提供最底层、最直接的硬件访问和控制。
在Windows XP中,可用来改变窗口大小的光标是(37)。
打开DOC文档48.doc,有如下表格,欲在空白单元格中计算出整行其他四个单元格的数值之和,应在空白单元格中插入公式(48)。
为了提高磁盘存取效率,人们常每隔一段时间进行磁盘碎片整理。所谓磁盘碎片是指磁盘使用一段时间后,(20)。
下列关于系统软件的叙述中,正确的是(7)。
计算机病毒是一段程序,一般隐藏在______中。
以下关于操作系统中回收站的叙述,不正确的是____________。
文件的扩展名可以说明文件类型。下面的“文件类型一扩展名”对应关系错误的是:
通常,网购产品需要依次进行以下操作步骤:浏览商品、放入购物车、生成订单、支付订单、完成交易。某网站对一个月内执行每一步操作的客户人数及其比例做了统计(按浏览商品的人数比例为100%进行统计),制作了如下的漏斗图(只有20%的浏览商品者实际完成了交易)。
[说明]请根据网页显示的效果图,将HtML文本(n)处的解答填写在相应的解答栏内。[上图网页中的元素说明][HTML文档代码]<!DOCTYPEHTMLPUBLIC“-//W3C//DTDHTML
随机试题
Igotcaughtintherainandmysuit______.
下列说法中,正确的是
男,72岁。下前牙残根,因眼科疾病请求会诊以除外病灶。口腔科医生应做
属于现场消防防火重点部位的有()。
完成单杠“骑撑后倒挂膝上”动作时,两手的正确握法是()。
甲、乙两人玩纸牌游戏,从足够数量的纸牌中取牌。规定每人最多两种取法,甲每次取4张或(4一k)张,乙每次取6张或(6一k)张(k是常数,0<k<4)。经统计,甲共取了15次,乙共取了17次,并且乙至少取了一次6张牌,最终两人所取牌的总张数恰好相等,那么纸牌
给定两个正项级数=ρ,当ρ=()时,不能判断这两个正项级数同时收敛或同时发散.
What’sSamaranch’sattitudetowardsdruguseinOlympicGames?Accordingtothepassage,whichofthefollowingisTRUE?
AreTeenagersReallyCarelessAboutOnlinePrivacy?[A]Theyshare,like,everything.Howtheyfeelaboutasong,theirmathshom
A、Aforestlooksdarkinwinterbecauseitabsorbssolarenergy.B、AlllivingthingsontheEarthdependontheSunfortheirfo
最新回复
(
0
)