Java上机考试复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、在工程中创建包p1,定义可计算面积的接口Area,Area中定义抽象方法: (40分)
public double area();
再定义一个实现该接口的矩形类Rectangle,
(1)矩形类中定义double数据成员width和height。
(2)实现接口中求面积的方法,求矩形面积。
(3)定义矩形类中的求周长的方法,原型如下:
public double perimeter();
(4)定义主函数,测试这个类。
2、(40分)在工程中新建package包p1,在包中定义如下接口和类:
(1)自定义接口Runner,接口中声明抽象方法:
public abstract void run();
(2)定义一个类Dog,实现上面的Runner接口,Dog中实现的run的功能是输出"A dog is running."
(3)再定义一个类 Horse,实现上面的Runner接口,Horse中实现的run的功能是输出"A horse is running."
(4)定义主函数,测试上面的两个类,使用Runner animal定义的animal引用Dog与Horse 的实例。
3、在工程中新建package包p1,在包中定义一个复数类Complex,要求:(40分)
(1)成员变量包括实部private double real和虚部private double imaginary;
(2)构造方法:public Complex(),默认值0.0
public Complex(double real,double imaginary)
(3)成员方法包括实现复数
加法public Complex add(Complex cp)
乘法public Complex multiply(Complex cp)
描述对象信息的字符串方法public String toString()方法,格式:a+bi的形式
比较是否相等public Boolean equal(Complex cp)。
(4)一个set方法:public void set(double real,double imaginary)
两个get方法:public double getReal();public double getImaginary ()
定义main方法,测试这个类
4、创建package包p1,并在p1中声明Point类,具体要求:
(1)Point类的数据成员有:int x,y表示x轴和y轴坐标
(2)实现类中的5个方法:
public Point():构造方法
public Point(Point p):拷贝构造方法
public int getX():获得x的值
public int getY():获得y的值
public void moveto(int x,int y):将当前坐标移动到(x,y)
public void move(int dx,int dy):将当前坐标偏移dx,dy。
(3) 定义主函数,测试这个类
5、创建package包p2,并在p2中创建如下窗体类Test2,具体要求:(30分)
(1)框架尺寸为300*200,标题为“请输入学号和姓名”
(2)框架采用3行2列的网格布局,并在类中定义三个JLabel,一个JButton和两个JTextField,并按照图示要求放入到框架的相应位置上,如图1。
(3)注册JButton组件的单击事件监听器,并完成事件处理(单击事件ActionEvent的处理方法public void actionPerformed(ActionEvent e)):在文本框中输入信息,当单击按钮时将弹出消息框,如下图2。
消息框JOptionPane.showMessageDialog( 参数1,参数2);参数1是消息框所属的容器,如果是独立的消息框参数1的位置为null,参数2是要输出的字符串。
图1 图2
6、在工程中创建包p2,并在p2中创建如下图所示窗体类,具体要求:(30分)
(1) 定义一个框架窗口类SelectFrame,框架尺寸300*200,布局设置为3行1列的网格布局。
(2)在框架上按照下面布局,在第一行添加一个Jlabel标签;第二行添加一个JPanel面板,面板上放置两个JradioButton单选按钮,并将单选按钮放到一个ButtonGroup按钮组中;第三行放一个JTextField。
(3)注册单选按钮单击事件ActionEvent监听,对应处理方法public void actionPerformed(ActionEvent e),并完成事件处理:当单击某个按钮时,在文本框中显示“你选择了***的产品!”
7、创建package包p2,并在p2中创建窗体类ChangeJFrame,具体要求:
输入一个整数,分别显示其百位、十位和个位上的数字,如下图所示:
(1)框架尺寸:250*130;框架标题:数字转换
(2)框架设置为4行2列网格布局
(3)整数文本行可编辑,其它文本行仅用于显示不可编辑;整数文本行响应文本编辑事件CaretEvent,对应的处理方法是public void caretUpdate(CaretEvent e)。
完成单击事件ActionEvent的处理方法public void actionPerformed(ActionEvent e)。
8、(30分)创建package包p2,并在p2中创建如下窗体类Arithmetic,具体要求:
如下图进行整数的算术运算:
(1)采用Swing组件,两个JTextField文本行表示操作数,默认值是1,一个JTextField文本行表示运算结果,表示结果的文本行只能显示,采用JComboBox组合框提供多种运算符,组合框只能下拉选择,不能进行编辑。
(2)文本行响应单击事件与组合框响应选择事件ActionListener。
两个事件处理方法actionPerformed执行由组合框指定的算术运算(注意要判断是哪个组件产生的事件)。
(3)要进行异常处理:如文本框中输入的不是整数,或者在除法时除数为0等。
9、(30分)创建package包p3,在包中创建倒计时牌ClockDown类,该类继承JFrame并实现ActionListener接口,具体要求:
(1)组件名称及属性设置要求:
tfvalue,lb2,bsstart。
(4)在框架的中部区域放一个标签lbboard“倒计时牌”,如下图2所示
(5)注册“计时开始”按钮btstart的单击事件监听对象,并在事件处理方法actionPerformed
中完成倒计时显示功能,时间0时,则在lbboard 上显示:“时间到!”的文本信息。
(用定时器或者多线程机制均可)。
字体可以不用设置。
运行的过程中的界面分别如下图2、3、4所示。
图2 图3 图4
附注:常用到的类和接口
10、创建package 包p3,并在包中FibonFile 类,具体要求: 在文件中添加不重复的数据:
(1)类FibonFile 有一个成员private RandomAccessFile rafile; 一个构造方法:
public FibonFile (String filename ),并且在该方法内创建一个可读写的RandomAccessFile 文件对象 (2)三个成员方法:
public boolean search(int k),在文件中查找指定的值
public void writeToFile(),在文件中不重复的添加整数数据 public void readFromFile(),将整数数据从指定的文件中读出
(3)编写main方法演示
注意:输入输出流要进行异常处理
11、创建package包p3,并在包中FibonFile类,具体要求:(30分)
(1)类FibonFile有一个成员private String filename,
一个构造方法:
public FibonFile(String filename)
(2)两个成员方法:
public void writeToFile(),将20个Fibonacci序列数写入filename指定的文件,要求使用文件字节输出流FileOutputStream与数据字节输出流DataOutputStream
public void readFromFile(),将Fibonacci序列数从filename指定的文件中读出,要求使用文件字节输入流FileinputStream与数据字节输入流DatainputStream
(3)编写main方法演示
注意:输入输出流要进行异常处理
12、创建package包p3,并在包中FibonFile类,具体要求:(30分)
(1)类FibonFile有一个成员private String filename,一个构造方法:
public FibonFile(String filename)
(2)两个成员方法:
public void writeToFile(),将Fibonacci序列数写入filename指定的文件,使用short型数据,在short型表示范围内的数写入该文件,每20个数一行,要求使用文件字符输出流FileWriter
public void readFromFile(),将Fibonacci序列数从filename指定的文件中读出,要求使用文件字符输入流FileReader与缓冲字符输入流BufferReader
(3)编写main方法演示
注意:输入输出流要进行异常处理。