计算机专业《Java程序设计方案》A卷.docx
- 文档编号:27630312
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:10
- 大小:18.51KB
计算机专业《Java程序设计方案》A卷.docx
《计算机专业《Java程序设计方案》A卷.docx》由会员分享,可在线阅读,更多相关《计算机专业《Java程序设计方案》A卷.docx(10页珍藏版)》请在冰豆网上搜索。
计算机专业《Java程序设计方案》A卷
2003级计算机专业《Java程序设计》A卷
<注意:
考试时间100分钟,将答案写在答题纸上)
班级:
________学号:
_________姓名:
___________
一、判断正误,如果错误请说明理由<4×4’=16’分)
1、Java面向对象开发中重载和覆盖是没有区别的。
2、Java中的error和exception没有区别。
3、swing组件一般使用自己的事件处理模型。
4、Java的application和applet没有区别。
二、问答题<4×6’=24’分)
1、Java中为什么要引入布局管理器?
2、在多线程编程时,在什么时候使用扩展Thread类和实现Runable接口,这两种方式创建线程有何区别?
3、简述Java通过JDBC进行数据库操作的步骤。
4、怎样用数据输入流和输出流读写数据?
三、改错题<2×6’=12’分)
1、publicstaticvoidmain(Stringargs[]>
{
try{
charch=(char>System.in.read(>。
...//其他语句
}
catch(Exceptionee>
{System.out.println(ee.toString(>>。
}
catch(IOExceptione>
{System.out.println(e.toString(>>。
}
}
2、interfaceMyInterface
{
voidmethodA(>。
}
publicclassTestInterfaceimplementsMyInterface
{
publicvoidmethod(>
{
System.out.println(“Iamimplementednow!
”>。
}
}
四、程序填空题<2×8’=’16’分)
1、使用文件字节流对象读取文件并在屏幕上显示出来
importjava.io.*。
publicclassOpenFile
{
publicstaticvoidmain(Stringargs[]>(1>
//抛出输入输出异常
{
try
{//创建文件字节输入流对象rf,文件名为File.txt
(2>。
intn=512。
bytebuffer[]=newbyte[n]。
while((rf.read(buffer,0,n>!
=-1>&&(n>0>>//读取输入流
{
System.out.print(newString(buffer>>。
}
System.out.println(>。
(3>。
//关闭输入流
}
catch(IOExceptionioe>
{
System.out.println(ioe>。
}
catch(Exceptione>
{
System.out.println(e>。
}
}
}
2、继承Thread类创建两个线程分别奇数和偶数
publicclassThread1extendsThread
{
intk=0。
publicThread1(Stringname,intk>
{
super(name>。
this.k=k。
}
publicvoidrun(>//覆盖run方法的线程体
{
inti=k。
System.out.println(>。
System.out.print(getName(>+":
">。
(4>//实现同步
{
while(i<50>
{
System.out.print(i+"">。
i+=2。
}
System.out.println(getName(>+"end!
">。
}
}
publicstaticvoidmain(Stringargs[]>
{
Thread1t1=newThread1("Thread1",1>。
//创建线程对象t1,线程名为"Thread1",输出奇数
(5>。
//创建线程对象t2,线程名为"Thread2",输出偶数
t2.start(>。
//启动执行线程
(6>。
//启动执行线程"Thread1"
System.out.println("activeCount="+t2.activeCount(>>。
}
}
3、Applet应用程序演示输出“HelloWord”
importjava.awt.*。
importjava.applet.Applet。
publicclassHelloApplet(7>{
Graphicsg。
publicvoidpaint(Graphicsg>
{
g.setColor(Color.red>。
g.(8>("Helloworld",20,20>。
//浏览器中输出字符
}
}
五、程序分析题<5’×3=15’分)
1、下面循环体重复执行多少次?
输出结果是什么?
inti=1。
while(i<10>
{
if(i%2==0>
System.out.println(i>。
i++。
}
2、如果用参数a=2、b=0调用下面方法,执行结果是多少?
给出得到该结果的理由。
publicvoiddivide(inta,intb>{
try{
intc=a/b。
System.out.print("结果是"+c>。
}
catch(Exceptione>{
System.out.print("除操作异常">。
}
finally{
System.out.println("结束操作">。
}
}
3、写出下面程序运行的结果。
classBase
{
inti=99。
publicvoidamethod(>
{
System.out.println("Base.amethod(>">。
}
Base(>
{
amethod(>。
}
}
publicclassDerivedextendsBase
{
inti=-1。
publicstaticvoidmain(Stringargv[]>
{
Baseb=newDerived(>。
System.out.println(b.i>。
b.amethod(>。
}
publicvoidamethod(>
{System.out.println("Derived.amethod(>">。
}
}
六、编程题<8’+9’=17’分)
1、从键盘输入两个数,用递归算法求他们的最大公约数 GCD(m,n>定义如下: GCD(m,n>是n,若n小于等于m且n整除m; GCD(m,n>是GCD(n,m>,若m小于n; GCD(m,n>是GCD(m,m%n>,其他情况。 2、编写一个由GeometicObject扩展的Triangle类,其定义如下: PublicclassTriangleextendsGeometicObject { Privatedoubleside1,side2,side3。 PublicTriangle(doubleside1,doubleside2,doubleside3> {//实现该构造方法 } PublicdoublefindArea(> {//实现求三角形面积的方法 } PublicdoublefindPerimete(> {//实现求三角形周长的方法 } 2003级计算机专业《Java程序设计》A卷答案 出题人: 满君丰考核性质: 闭卷考试 一、判断正误,如果错误请说明理由<4×4’=16’分) 1、错误。 重载只同一类中的同名方法,方法可以有不同参数,返回值也可以不同;覆盖指不同类中的同名方法,方法必需有相同的参数,且返回值也必需相同。 2、答: 错误。 error表示系统产生了很难恢复难的严重问题,比如说内存溢出等,不可能指望程序能处理这样的情况。 exception表示一种设计或实现问题,也就是说,它表示如果程序运行正常,从不会发生的情况,即便是发生exception情况,系统也可以做出相应处理。 3、错误。 Swing有自己一套功能强大、界面友好的组件,但它依然沿用AWT事件处理模型。 4、错误。 (1>Applet不是完整独立运行程序,需要嵌在浏览器中作为浏览器软件的一部分;(2>Applet程序中不需要有main方法,但是Applet程序的主类必须是类库中已定义好的类Applet或JApplet的子类。 (3>JavaApplication程序则必须另外书写专用代码来营建自己的图形界面。 二、问答题<4×6’=24’分) 1、答: java为了实现跨平台的特性并且获得动态的布局效果而引入了LayoutManager,java将容器内的所有组件安排给Layoutmanager负责管理,如: 排列顺序,组件的大小、位置,当窗口移动或调整大小后组件如何变化等功能授权给对应的容器布局管理器来管理。 2、答: 扩展Thread类实现多线程比较简单,如果类没有多重继承建议使用扩展Thread类。 当使用Runable接口实现多线程时,需要用newThread(this>创建一个线程;当扩展Thread类实现多线程时,需要创建线程的一个实例。 3、答: (1>打开一个数据库连接;(2>创建一个Statement对象;(3>执行一个查询并且返回一个结果集;(4>处理结果集;(5>关闭结果集和Statement对象;(6>关闭连接。 4、答: 数据流DataInputStream和DataOutputStream用机器独立形式分别读和写Java的原始数据类型,允许使用者在一机器上写数据文件,以及从其他装有不同操作系统或文件结构的机器上读取文件。 他们常用于输入和输出数据。 三、改错题<2×6’=12’分) 1、答: 两个catch语句交换位置 catch(IOExceptione> {System.out.println(e.toString(>>。 } catch(Exceptionee> {System.out.println(ee.toString(>>。 } 2、答: 类Child中,publicvoidmethod(>改为publicvoidmethodA(>,或新建一个方法publicvoidmethodA(> 四、程序填空题<2×8’=’16’分) 1、(1>throwsIOException (2>FileInputStreamrf=newFileInputStream("File.txt">。 (3>rf.close(>。 2、(4>Synchronized(this> (5>Thread1t2=newThread1("Thread2",2> (6>t1.start(>。 3、(7>extendsApplet (8>drawstring 五、程序分析题<5’×3=15’分) 1、答: 9次;2468 2、答: 除操作异常,结束操作。 因为计算4/0产生除零异常,运行catch{}中的语句,然后再运行finally{}中的语句。 3、Derived.amethod(> 99 Derived.amethod(> 六、编程题<8’+9’=17’分) 1、publicclassgongyueshu { publicstaticvoidmain(String[]args> { intn,m。 System.out.print("输入数据n: ">。 n=MyInput.readInt(>。 System.out.print("输入数据m: ">。 m=MyInput.readInt(>。 System.out.println("该两数的最大公约数是: "+GCD(n,m>>。 } publicstaticintGCD(intn,intm> { if(m<=n&&n%m==0>returnm。 elseif(n elsereturnGCD(m,n%m>。 } } 2、(1>this.side1=side1。 this.side2=side2。 this.side3=side3。 (2>doubles=(side1+side2+side3>/2。 Returnmath.sqrt(s*(s-side1>*(s-side2>*(s-side3>>。 (3>returnside1+side2+side3。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序设计方案 计算机专业 Java 程序设计 方案