Java上机考试复习题

  • 格式:docx
  • 大小:151.40 KB
  • 文档页数:5

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)组件名称及属性设置要求: 组件类名 组件对象名 组件上文本 尺寸 所属容器 备注 JFrame ClockDown 标题:倒计时牌 300*300 无 主窗口 JPanel p 无 默认 ClockDown 在框架的北部 JLabel lb1 初值 默认 p lb2 秒 默认 p lbboard 倒计时牌 默认 ClockDown 在框架的中部 JTextField tfvalue 10 5列 p JButton btstart 计时开始 默认 p (3) 在类中定义的面板p放在框架的北部North区域,面板上依次放置下面的组件:lb1,tfvalue,lb2,bsstart。 (4)在框架的中部区域放一个标签lbboard“倒计时牌”,如下图2所示 (5)注册“计时开始”按钮btstart的单击事件监听对象,并在事件处理方法actionPerformed中完成倒计时显示功能,时间0时,则在lbboard上显示:“时间到!”的文本信息。(用定时器或者多线程机制均可)。字体可以不用设置。运行的过程中的界面分别如下图2、3、4所示。

图2 图3 图4

附注:常用到的类和接口 名称 所在的包 成员方法 方法功能 JFrame javax.swing.* setTitle() 设置框架标题 setSize() 设置框架的尺寸 setDefaultCloseOperation() 设置关闭按钮的动作 setVisible() 设置框架的可见性 getContentPane() 获取内容面板 ActionListener java.awt.* public void actionPerformed(ActionEvent e) 要求实现接口中的抽象方法

Timer javax.swing.* public void actionPerformed(ActionEvent e) 定时器时间到执行单击事件处理方法 Thread java.lang(默认) public void run() 继承Thread要求覆盖run方法 Runnable java.lang(默认) public void run() 实现此方法

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方法演示 注意:输入输出流要进行异常处理