西华大学java程序设计-期末试卷(B) (2).doc
如有侵权,请联系网站删除,仅供学习与交流西华大学java程序设计-期末试卷(B) (2)【精品文档】第 4 页年级专业: 教学班号: 学号: 姓名:装 订 线 ( 2011 至 2012 学年 第 1 学期 )课程名称: 面向对象程序设计B(java) 考试时间: 110 分钟 课程代码: 试卷总分: 100 分考试形式: 闭卷 学生自带普通计算器: 否 一、程序填空题(本大题共15空,每空2分,共30分)程序的主要功能是将10进制数转换为其他进位制数。启动运行显示如图;在第一个文本框中输入10进制数(本列为253),然后在下一文本框输入2,点确定按钮,则被转换的2进制数据显示在第三文本框,如图;图、图分别给出了转换为8和16进制的数,试把程序补充完整。 public class ConvertM public static void main(String args) WindowBoxLayout win=new WindowBoxLayout();import java.awt.event.*;import javax.swing.*;public class WindowBoxLayout extends JFrame implements char Ncode='0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'Box baseBox,boxV1,boxV2,boxV3; JButton Button; /命令按钮 JTextField Text1,Text2,Text3; /文本框 String s; int n,m; public WindowBoxLayout() setLayout(new java.awt.FlowLayout(); init(); setBounds(100,100,600,300); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); void init() Button=new ; Text1=new JTextField(16); Text2=new JTextField(16); Text3=new JTextField(16); boxV1=Box.createVerticalBox(); boxV1.add(new JLabel("输入10进制数"); boxV1.add(Box.createVerticalStrut(8); boxV1.add(new ); boxV1.add(Box.createVerticalStrut(8); boxV1.add(new JLabel("转换的果"); boxV1.add(Box.createVerticalStrut(8); boxV2=Box.createVerticalBox(); boxV2.add( ); boxV2.add(Box.createVerticalStrut(8); boxV2.add(Text2); boxV2.add(Box.createVerticalStrut(8); boxV2.add(Text3); boxV3=Box.createVerticalBox(); boxV3.add(Button); baseBox=Box.createHorizontalBox(); baseBox.add(boxV1); baseBox.add(Box.createHorizontalStrut(10); baseBox.add(boxV2); baseBox.add(Box.createHorizontalStrut(10); baseBox.add(boxV3); add(baseBox); Button.addActionListener( ); public void convert() s=""do s=Ncoden%m+s;n=n/m; while(n>=m); s=Ncoden+s; public void actionPerformed( e) try n=Integer.parseInt(Text1.getText(); m=Integer.parseInt(Text2.getText(); convert(); ; /在第三个文本框显示转换的结果 catch(Exception ee) Text3.setText("异常信息:"+ee. );二、程序设计(70分) 3、类与对象 出1题,10分(刘世林)编写一个圆环类Ring的java应用程序。圆环类有2个数据成员变量,分别是内半径inR、外半径outR,以及对这些属性的Set和get方法,还有其计算圆环内外周长的方法。在主方法中进行测试。4继承,派生出子类,出1题,10分 (刘世林)设计平面中的二维点的类Point,有两个整型成员变量描述二维点;再设计一空间三维点的类Point3,继承Point,有一描述第三维点坐标成员。在Point3类中有一带参构造方法,根据参数初始化三维点对象;一无参构造方法,初始化点坐标为(0,0,0)。6、抽象,派生出子类 出一题,15分(刘世林)编写程序,定义一抽象类operationInt,在该类中有两个int型成员变量x和y,有方法Set给x和y赋值,有一个抽象方法count。定义一个类Add,继承operationInt类,在该类中实现count方法,该方法返回x+y的和。定义一个类Sub,继承operationInt类,在该类中实现count方法,该方法返回x*y的积。再定义一Simulator类,类中一方法op,该方法以operationInt类对象为参数,方法中利用参数对象实现对成员变量x和y的运算。参考答案:一、 程序填空题(本大题共15空,每空2分,共30分) GUI、异常 刘世林(16分)ActionListener JButton("确定") JLabel("目标进位制(2-16)") Text1this ActionEvent Text3.setText(s) toString() 二、程序设计(70分) 3.public class Ring double inR,outR; public void set(double i,double o) inR=i; outR=o; public void get() System.out.println("内外圆的半径分别是:"+inR+"和"+outR); public void count() double girth0,girth1; girth0=2*3.14159*inR; girth1=2*3.14159*outR; System.out.println("内外圆的周长分别是:"+girth0+"和"+girth1); public static void main(String args) Ring a =new Ring(); double i=3.12,o=6.28; a.set(i, o); a.get(); a.count();4继承,派生出子类,出1题,10分 (刘世林)class Point int x,y;class Point3 extends Point int z; public Point3(int a,int b,int c) x=a; y=b; z=c; public Point3() this(0,0,0); 6、抽象,派生出子类 出一题,15分(刘世林)public abstract class OperationInt int x,y; public abstract int count (); public void Set(int x,int y) this. x=x; this.y=y;class Circle extends OperationInt public int count () return x+y;class rectangle extends OperationInt public int count () return x*y; class Simulator public void op(OperationInt js) js.count();