问题 问答题

[说明]
类Queue表示队列,类中的方法如表4-12所示。
表4-12 类Queue中方法说明表

方法 说明
IsEmpty() 判断队列是否为空,如果队列不为空,返回true;否则,返回false
Enqueue(object NewNode) 入队操作
Dequeue() 出队操作。如果队列为空,则抛出异常
类Node表示队列中的元素;类EmptyQueueException给出了队列中的异常处理操作。
[Java代码]
public class testmain //主类
public static viod main (string args[])
Queue q= new Queue;
q.enqueue("first!");
q.enqueue("second!");
q.enqueue("third!");
(1)
while(true)
system.out.println(q.dequeue());

catch( (2) )

public class Queue //队列
node m_firstnode;
public Queue()m_firstnode=null;
public boolean isempty()
if (m_firstnode= =null)
return true;
else
return false;

public viod enqueue(object newnode)//入队操作
node next = m_firstnode;
if (next = = null) m_firstnode=new node(newnode);
else
while(next.getnext() !=null)
next=next.getnext();
next.setnext(new node(newnode));


public object dequeue() (3) //出队操作
object node;
if (is empty())
(4)
else
node =m_firstnode.getobject();
m_firstnode=m_firstnode.getnext();
return node;



public class node //队列中的元素
object m_data;
node m_next;
public node(object data) m_data=data; m_next=null;
public node(object data,node next) m_data=data; m_next=next;
public void setobject(object data) m_data=data;
public object getobject(object data) return m_data;
public void setnext(node next)m_next=next;
public node getnext() return m_next;

public class emptyqueueexception extends (5) //异常处理类
public emptyqueueexception()
system. out. println ( "队列已空!" );

答案

参考答案:这是一道要求读者掌握Java异常处理机制的程序分析题。本题的解答思路如下。
异常是指计算机程序执行期间中断的正常流程的事件。例外是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻止程序的正常运行。
当一个方法中发生错误时,该方法创建一个对象(该对象称之为异常对象)并将它交给运行时系统。异常对象包含了关于错误的信息,即包括错误的类型和错误发生时程序的状态。
“抛出一个异常”是指创建异常对象并将它交给运行时系统。Java的异常处理是通过try、catch、throw、 throws和finally 5个关键字来实现的。这几个关键字的解释如表4-15所示。
表4-15 Java异常处理关键字说明表

语句
问答题 案例分析题

领土的测绘、领海的划分事关国家利益。阅读以下材料回答问题

材料一:

从17世纪及18世纪中叶,西方国家掀起划定边界、并向近代化国家迈进的热潮。地图则作为一种证明国家领土范围的工具开始备受重视,这一时期的英、法、俄、西班牙等国都在最高统治者的支持下绘制了自己的地图。……远在东方的清王朝在统一全国的过程中,已运用西方耶稣会士传入的近代制图学新方法绘制帝国地图,乃已告竣,并把测绘地图与版图的确定紧密联系在一起。——牛汝辰《地图测绘与中国疆域变迁》

材料二:

利玛窦将经纬度制图法传人中国以后,未立即改变传统的画方之法绘制地图。康熙帝发现原有的地图时常出现模糊不清、测绘有误的情况,感到“疆域错纷”的问题需要解决,决定进行全国范围的实地测量,以绘制新的全国地图。这次使用西方经纬度制图法,参加人员中有杜德美等11名传教士,1717年(康熙五十六年),完成了全国性测绘,当时西藏处于战乱之中,只测量了从拉萨到恒河发源处一段距离。最后由杜德美等主持在1718年绘制成了《皇舆全览图》。康熙六十年本对西藏及蒙古极西地方绘制较详。——李喜所《五千年中外文化交流史》

材料三:

1930年海牙会议,英美等海洋强国坚持3海里的原则,以便于他们的军舰和商船在海上自由游弋;大多数国家主张有较宽的领海。1960年第二届联合国海洋法会议,大多数发展中国家采取长海里的领海宽度,保护近海资源、本国安全。苏联因为冷战的目的希望与发展中国家采取共同立场,建议各国有权建立12海里的领海。美英等国认为,领海宽度的扩大将破坏海洋自由原则。1973年联合国第三次海洋会议召开,经过发展中国家的争取,美英等海洋大国不得不接受12海里的领海宽度。——刘中民《领海制度形成与发展的国际关系分析》

根据材料一结合所学知识,分析17世纪及18世纪中叶西方国家掀起测绘地图热潮的时代背景。