一实现一个复数计算器
要求:能够计算复数的加、减、乘、除。
例如:输入操作数2+3i和操作数-7-6i,选择加法运算,得到结果-5-3i。
提示:(1)要分析输入数据,得到实部和虚部,并注意符号。
二采用的相关技术
1事件处理
在Java开发中,对于事件的处理非常重要,比如响应键盘的输入、鼠标的点击、窗口的移等等都要涉及到Java事件的应用。
Java事件由事件类和监听接口组成,自定义一个事件前,必须提供一个事件的监听接口以及一个事件类。JAVA中监听接口是继承java.util.EventListener的,事件类继承java.util.EventObject。很多基本的事件系统已经为我们定义好了,我们只要学会调用即可,但是为了更加灵活地满足特定的需求,我们有时候也需要自定义事件。
使用授权处理模型进行事件处理的实现原理主要有以下几步:
(1)组件作为事件源,不同类型的组件会产生特定类型的事件。
(2)要接收并处理某种类型的事件XXXEvent必须定义和注册相应的事件监听器类,通过调用组件的成员方法addXXXListener(XXXListener)方法向组件注册事件监听器。
(3)实现XXXListener的类的实例对象,可作为事件的监听器对象。
(4)事件源通过实例化事件类型激发并产生事件,事件将被传送给已注册的一个或多个监听器。
(5)事件监听器负责实现相应的事件处理方法。
2图形绘制
Java的GUI界面定义是由AWT类包和Swing类包来完成的。它在布局管理上采用了容器和布局管理分离的方案。也就是说,容器只管将其他组件放入其中,而不管这些组件是如何放置的。对于布局的管理交给专门的布局管理器类(LayoutManager)来完成。
Java已经为我们提供了几个常用的布局管理器类,例如: FlowLayout、BorderLayout、GridLayout、GridBagLayout等。下面列表说明它们的布局特点:
包
类
特点
java.awt
CardLayout
将组件象卡片一样放置在容器中,在某一时刻只有一个组件可见
java.awt
FlowLayout
将组件按从左到右而后从上到下的顺序依次排列,一行不能放完则折到下一行继续放置
java.awt
GridLayout
形似一个无框线的表格,每个单元格中放一个组件
java.awt
BorderLayout
将组件按东、南、西、北、中五个区域放置,每个方向最多只能放置一个组件
java.awt
GridBagLayout
非常灵活,可指定组件放置的具体位置及占用单元格数目
Javax.swing
BoxLayout
就像整齐放置的一行或者一列盒子,每个盒子中一个组件
Javax.swing
SpringLayout
根据一组约束条件放置子组件
Javax.swing
ScrollPaneLayout
专用于JScrollPane,含一个Viewport,一个行头、一个列头、两个滚动条和四个角组件
Javax.swing
OverlayLayout
以彼此覆盖的形式叠置组件
Javax.swing
ViewportLayout
JViewport的默认布局管理器
3字符串分割
substring讲解:
s=s.substring(int begin);截取掉s从首字母起长度为begin的字符串,将剩余字符串赋值给s;
s=s.substring(int begin,