华中科技大学计算机学院2007年本科Java考试(最终版)

合集下载

《Java语言程序设计》期末考试试卷2007秋末-万静

《Java语言程序设计》期末考试试卷2007秋末-万静

北京化工大学2007——2008学年第一学期↑
《Java语言程序设计》期末考试试卷
班级:姓名:学号:分数:
一、(20分)编写程序,统计输入的正数和负数的个数,并计算这些数的平均值。

输入:若干个整数;输出:正数个数、负数个数、平均值。

0不参与计数和求平均值,当输入为0时,程序结束。

例如:
依次输入:12 -3 5 -7 0
输出:正数2个,负数2个,平均值1.75
二、(20分)编写一个名为Account(帐户)的类。

该类包括的数据成员有账号、余额和用户名。

该类包括两个构造方法:一个是无参的构造方法,构造一个默认帐户;另一个是三个参数的构造方法,构造一个指定帐号、用户名和余额的帐户。

该类包括5个方法,功能分别为:返回账号;返回用户名;返回余额;取款;存款。

三、(20分)在当前目录下的文本文件grade.txt中保存了一个班学生的姓名和高数成绩,编写程序依次读取文件中的学生姓名和成绩信息,输出到显示器上,最后输出平均成绩。

grade.txt中信息的格式为:每个学生的信息占用两行,前1行为姓名,后1行为成绩。

四、(20分)编写程序,在一个窗口中显示移动的文字“Hello!”,这段文字在窗口中从左到右来回移动。

参考界面如图1所示。

提示:使用Timer或多线程,在一个面板上定时重绘该段文字。

图1
五、(20分)编写程序,实现加、减、乘、除运算。

参考界面如图2所示。

输入两个操作数后,点击按钮加、减、乘或除,则执行相应的计算,结果显示在运算结果后的文本域中。

图2。

最新华中科技大学本科《java语言程序设计》试题·(闭卷)

最新华中科技大学本科《java语言程序设计》试题·(闭卷)

华中科技大学本科《Java语言程序设计》试题·2005(闭卷)班级:学号:姓名:分数:一、单项选择题(每小题1分,共20分)1.下面的变量定义语句,不正确的是:()A. String s姓名= "王刚";B. int final = 123;C. double d_123;D. char c = '王';上述程序的编译运行结果应该是:()A、编译出错B、编译通过,但运行时产生异常C、编译通过,运行结果为nullD、编译通过,运行结果为03. 类MyClass被声明为public类型,其成员字符串变量s只能被自己或同一个包中的其他类访问,满足条件的声明语句为:A. private String s;B. public String s;C. protected String s;D. package String s;A.Class B Constructor 100B.Class A Constructor 100Class B Constructor 100C.该程序会产生编译错误D.程序编译通过,但运行时会产生异常并中止5. 关于Java语言中方法的参数传递,正确的描述是:()A. 方法的参数均是按值传递B. 方法的参数均是按引用传递C. 方法的参数如果是基本类型,则按值传递;否则按引用传递D. 可通过关键字来指定方法的参数是按值传递还是按引用传递6.将int型变量i的值转换为String类型并赋值给字符串变量s(例如i=10,则s="10"),正确的写法是:()A. s = i.toString();B. s = Integer(i).toString();C. s = Integer.valueOf(i);D. s = String.valueOf(i);7. 如果希望某类中的公有成员变量可在其他类中通过"类名.变量名"进行引用,定义变量时应采用的修饰关键字是:()A. staticB. nativeC. finalD. finally8. 关于异常处理,下面说法不正确的是:()A. 从RuntimeException直接或间接继承的异常可以不必捕获B. 如果某方法用throw语句抛出了异常,该方法声明时不一定必须指明throws子句C. 如果将父类异常的catch语句写在子类异常之前,那么程序运行时只会执行父类异常的语句D. InterruptedException属于须检查的异常9. 如果需要将某个对象通过网络发送到远程系统,应采用那种合适的I/O类?()A. PipedReader/PipedWriterB. PipedInputStream/PipedOutputStreamC. ObjectInputStream/ObjectOutputStreamD. DataInputStream/DataOutputStream上述程序编译运行的结果是:()A.In runB.Leaving runC.In runLeaving runD.程序正常运行,但什么都不显示11、System类存在于下列哪一个包中?()A. ngB. java.ioC. java.utilD. 未定义包12、关于System.out.println();语句,说法正确的是:A. out是System类的一个静态属性B. out是System类的一个静态方法C. println是System类的一个静态方法D. println是System类的一个非静态方法13、定义一个不允许被其它类所继承的类,可使用的类修饰符是:A. staticB. finalC. protectedD. abstract14、类A继承了类B,并实现了接口C,以下类的声明语句正确的是:A. class A extends B implements CB. class A extends C implements BC. class B extends A implements CD. class B extends C implements A15、定义一个无返回值的抽象方法,以下语句正确的是:A. abstract void test(){}B. abstract void test();C. void abstract test(){}D. void abstract test();A. C c=new C();B. B b=new C();C. A a=new C();D. C c =new B();17、希望按"东南西北中"的方位安排组件的摆放,容器应该采用那种布局类?()A. FlowLayoutB. BorderLayoutC. CardLayoutD. GridLayout18、下列不是Java引用类型的是:()A.int []B.ObjectC.RunnableD.char上述程序的运行结果是:( ) A.truetruetrueB. falsetruetrueC. falsetruefalseD. falsefalsefalse上述代码的运行结果是:( )A. 2 3B. 2 2C. 3 3D. 3 2E.以上都不对,因为Base b = new Subclass()是非法语句二、根据程序回答问题(共65分)1、写出下列程序的运行结果(共20分)(1)程序:(6分)运行结果:(2)程序:(8分)运行结果:(1)该程序的运行结果是:(4分)(2)用简洁明了的语言说明为什么会产生这样的结果?(6分)3、根据程序运行结果填空(共15分)注意:一个空格处只能填写一条语句该程序所有可能的运行结果为:...Sleep......Study......Party...或者...Sleep......Party......Study...上述程序有5处错误,请指出具体行号并改正:行号:更正:行号:更正:行号:更正:行号:更正:行号:更正:5、根据题目编写相关代码(共10分)Java API中的Comparable接口定义如下:interface Comparable {int compareTo(Object);}conpareTo方法用来进行对象比较。

大学java考试题及答案详解

大学java考试题及答案详解

大学java考试题及答案详解大学Java考试题及答案详解一、选择题1. Java是一种______。

A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案:B2. 下列哪个是Java的关键字?A. ObjectB. StringC. voidD. Array答案:C3. Java中的“==”用于比较什么?A. 引用是否相同B. 引用所指向的对象的值是否相同C. 基本数据类型的值是否相等D. 引用所指向的对象的内存地址是否相同答案:C二、填空题1. Java语言支持的四种访问控制级别是:______、______、______和______。

答案:public, protected, default, private2. Java中,______关键字用于定义一个类可以被继承。

答案:extends三、简答题1. 简述Java的垃圾回收机制。

答案:Java的垃圾回收机制是一种自动内存管理功能,它通过垃圾回收器定期检查不再使用的对象,并释放它们占用的内存。

垃圾回收器不会立即回收对象,而是等到确定对象不再被任何引用指向时才进行回收。

四、编程题1. 编写一个Java程序,实现计算两个整数的和。

```javapublic class SumCalculator {public static void main(String[] args) {int num1 = 10;int num2 = 20;int sum = num1 + num2;System.out.println("The sum is: " + sum);}}```答案:程序定义了一个名为SumCalculator的类,其中包含一个main 方法。

在main方法中,定义了两个整数num1和num2,并计算它们的和,最后通过System.out.println输出结果。

五、论述题1. 论述Java的多线程机制及其应用场景。

java大学考试试题及答案

java大学考试试题及答案

java大学考试试题及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. functionC. structD. type答案:A2. 下列哪个选项是Java语言中的保留字?A. mainB. publicC. privateD. all of the above答案:D3. 在Java中,下列哪个方法用于获取字符串的长度?A. length()B. size()C. getLength()D. count()答案:A4. Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. method答案:B5. 下列哪个选项是Java语言中正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. //* This is a single line comment */D. Both A and B答案:D6. 在Java中,哪个关键字用于声明一个方法?A. functionB. methodC. defD. void答案:D7. Java中,用于定义一个包的关键字是什么?A. packageB. importC. classD. namespace答案:A8. 下列哪个选项是Java语言中正确的继承方式?A. class B extends AB. class B implements AC. class B implements A, CD. All of the above答案:D9. 在Java中,哪个关键字用于实现多态?A. overrideB. extendsC. implementsD. Both A and B答案:D10. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. All of the above答案:D二、填空题(每题2分,共20分)1. Java是一种________面向对象的编程语言。

2007-2大学计算机基础试卷

2007-2大学计算机基础试卷

浙江大学2006–2007学年春夏季学期《大学计算机基础》课程期末考试试卷开课学院:计算机学院,考试形式:闭卷,允许带 / 入场考试时间:2007年7月11日,所需时间: 90 分钟姓名___________学号________________专业____________________注意:答案按题号填写在答题纸上。

在试卷上的答案一律无效。

一.单选题(每一小题1分,共20分)1.由具有程序功能的处理机构成的计算机,处理得到的输出主要取决于 C 。

A.输入的数据B.输入的信息C.输入的数据和处理数据的程序D.输入的数据和处理数据的硬件2.浮点数的尾数一般是 B 。

A.正数B.定点纯小数C.规格化的浮点数D.不确定3.CPU是由三个部分组成的: A 。

A.ALU、寄存器组、控制器B.ALU、寄存器组、程序计数器C.算术逻辑单元、控制单元、Cache D.算术逻辑单元、控制单元、浮点运算器4.内部总线是在CPU与之间进行连接的一组被定义了确定功能的导线。

A.控制器和外设接口B.运算器和外设接口C.存储器和外设接口D.主机和外设接口5.内部总线为三总线结构,它们分别是_____ ___。

A.地址总线、数据总线、处理器总线B.地址总线、控制总线、系统总线C.前端总线、I/O总线、控制总线D.数据总线、地址总线、控制总线6.操作系统是___________的接口。

A.用户和软件B.系统软件和应用软件C.主机和外设D.用户和计算机7.以下_________不是可执行文件的扩展名。

A..dll B..exeC..bat D..com8.在Windows系统中_________。

A.不允许文件重名B.如果在不同的目录中,允许文件重名。

C.即使在同一个目录中,也允许文件重名。

D.任何情况下都允许文件重名。

9.下列关于算法的说法哪一个是错误的_________。

A.算法是为解决问题而采用的方法和步骤。

B.算法都有明确的结果。

IT认证-全国计算机等级考试二级JAVA机试真题2007年9月

IT认证-全国计算机等级考试二级JAVA机试真题2007年9月

全国计算机等级考试二级JAVA机试真题2007年9月全国计算机等级考试二级JAVA机试真题2007年9月(总分:100.00,做题时间:90分钟)一、基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为%USER%。

在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请在注释行“//**********Found**********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或改动其他已有语句内容。

存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:程序在对话框中打印结果如下:给定源程序:import javax.swing.JOptionPane;//导入JOptionPane类public class Java_1public static void main(String args[])//*********Found********______(null,"欢迎/n你/n参加/nJava/n考试!");System.exit(0);//结束程序/*JOptionPane类的常用静态方法如下:showInputDialog()showConfirmDialog()showMessageDialog()showOptionDialog()*/(分数:30.00)_____________________________________________________________________ _____________________ 正确答案:(JOptionPane.showMessageDialog)解析:[解析] 信息对话框,需填入JOptionPane.showMessageDialog。

二、简单应用题(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为%USER%。

大学java基础考试试题及答案

大学java基础考试试题及答案

大学java基础考试试题及答案一、选择题(每题2分,共20分)1. Java中,以下哪个关键字用于声明一个类?A. publicB. classC. interfaceD. abstract答案:B2. 在Java中,以下哪个选项是正确的字符串声明?A. String s = "Hello";B. String s = 'Hello';C. String s = "Hello", "World";D. String s = 'Hello', 'World';答案:A3. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B4. 在Java中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. _variableD. variable$答案:C5. Java中,以下哪个选项是正确的继承关系?A. public class B extends AB. public class B implements AC. public class B extends interface AD. public class B implements interface A答案:A6. 以下哪个Java关键字用于定义接口?A. classB. interfaceC. abstractD. final答案:B7. 在Java中,以下哪个选项是正确的方法定义?A. public void myMethod();B. public void myMethod(int x);C. public void myMethod() {}D. public void myMethod(int x) {}答案:D8. Java中,以下哪个关键字用于定义包?A. packageB. importC. classD. interface答案:A9. 在Java中,以下哪个选项是正确的数组声明?A. int[] myArray = new int[10];B. int[] myArray = new int(10);C. int myArray[] = new int[10];D. int[] myArray = new int{10};答案:A10. Java中,以下哪个关键字用于实现多线程?A. threadB. synchronizedC. implementsD. extends答案:D二、填空题(每题2分,共20分)1. 在Java中,________关键字用于定义一个方法。

全国计算机等级考试二级JAVA真题2007年9月

全国计算机等级考试二级JAVA真题2007年9月

全国计算机等级考试二级JAVA真题2007年9月(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:35,分数:70.00)1.软件是指(分数:2.00)A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合√解析:[解析] 本题考查软件的定义。

软件是计算机系统中与硬件相互依存得另一部分,它包括程序、相关数据及其说明文档得总和。

因此,本题得正确答案是选项D。

2.软件调试的目的是(分数:2.00)A.发现错误B.改正错误√C.改善软件的性能D.验证软件的正确性解析:[解析] 本题考查软件工程调试。

调试与测试是两个不同的过程,有着根本的区别:调试是一个随机的、不可重复的过程,它用于隔离和确认问题发生的原因,然后修改软件来纠正问题;测试是一个有计划的,可以重复的过程,它的目的是为了发现软件中的问题。

因此,软件调试的目的是为了改正软件中的错误。

本题的正确答案是选项B。

3.在面向对象方法中,实现信息隐蔽是依靠(分数:2.00)A.对象的继承B.对象的多态C.对象的封装√D.对象的分类解析:[解析] 通常认为,面向对象方法具有封装性、继承性、多态性几大特点。

就是这几大特点,为软件开发提供了一种新的方法学。

封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中(对象中)。

简单地说,封装就是隐藏信息。

这是面向对象方法的中心,也是面向对象程序设计的基础。

继承性:子类具有派生它的类的全部属性(数据)和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。

继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。

继承有利于提高软件开发效率,容易达到一致性。

多态性:多态性就是多种形式。

不同的对象在接收到相同的消息时,采用不同的动作。

例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作,但是却以不同的做法来实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机学院2007—2008学年第一学期《Java语言》考试试卷A卷闭卷考试时间:2007 年11 月14 日150分钟专业班级学号学生姓名一、单项选择题(每小题1分,共20分)1.关于Java语言的特性,下列说法不正确的是:( )A.Java 语言是一门纯粹的面向对象语言;B.Java语言编译的程序可以跨平台运行;C.Java程序编译后运行在操作系统上D.Java语言健壮性比较好2.某同学编辑了一个文件Test.java,则下列关于Test.java的说法正确的是:( )A.Test.java里一定含有一个名为Test的类,且该类是一个public 类B.Test.java文件被编译后生成Test.class文件C.命令行java Test.class运行Test程序D.命令行javac Test.java编译Test.java文件3.下面的变量定义,不合法的是( ):A. String _s;B. int[] cns = new int[5];C. char c =’华’;D. double 3m=12.6;4.String s1=new String(”HUSTCS”); String s2 = new String(“HUSTCS”);boolean b = s1= =s2; 则b的值为( )A.trueB. falseC.0D. 15.语句int m = new int[5];则m[5]=10;会有( )A.编译运行都正确; B.编译不正确C.会引发ArrayIndexOutOfBoundsException异常D.会引发NullPointerException异常6.若int x; 则下面哪个语句有错误( )A. x=7/3;B. x=’d’-1;C. x=6.0+5;D. x*=4;7.String[]s={“Monday”,”Tuesday”,”Wednesday”,”Thirsday”,”Friday”,”Sataday”,”Sunday”};,则下列语句正确的是( )A.i nt a=s.length, b=s[1].length;B.i nt a = s.length( ), b = s[1].length;C.i nt a = s.length, b = s[1].length();D.i nt a = s.length( ), b = s[1].length( );8.建立一个常量PI,以下写法正确的是( )A.final double PI = 3.14159;B. finally double PI = 3.14159;C. finalize double PI = 3.14159;D. double PI = 3.14159;9.分析下面的程序abstract class Base{public void fun(){System.out.println("function Base.fun( )");}}public class Derive extends Base{public static void main(String[] args){Base a = new Derive( );a.fun( );}public void fun( ){System.out.println(“function Derive.fun()”);}}以下说法正确的是( )A.编译错误,因为class Base里没有抽象方法B.编译错误,因为类Derive也是个抽象类C.运行输出结果为function Base.fun( )D.输出结果为function Derive.fun( )10.分析下面程序public class Test {public static void main(String args){System.out.println("Hello Java world!");}}下列说法正确的是( )A.编译错误,因为main是java关键字,不能被用来定义函数B.编译正确,但是运行时会提示没有定义main方法C.编译正确,输出结果为Hello Java world!D.编译正确,但是运行时会提示Test类没有构造函数11.有两个程序Test1.java和Test2.java,都位于Test目录下,Test1.java和Test2.java的内容分别如下所示。

Test1.java内容:package Test;class Test1{public void fun( ){System.out.println(“Test.Test1.fun( )”);}}Test2.java内容:public class Test2{Test1 a = new Test1( );a.fun( );}下列说法正确的是( )A.两个文件都能正确编译,运行后输出结果为Test.Test1.fun( )B.Test1.java编译成功,而Test2.java编译错误C.两个文件都有编译错误;D.两个文件都编译成功,但是运行时出错12.class A extends B implements C,假定A和B有缺省构造方法,则下面的语句正确的是( )A. A a = new A( ); B b = a; C c = b;B. B b = new B( ); A a = (A) b;C. A a = new A( ); B b = a; C c1 = a ,c2 = new A( );D. A a = new A( ); C c = new A( ); B b = new C( );13.如果没有特别指定,容器Panel的布局方式为( )A.FlowLayoutB. BorderLayoutC.BoxLayoutD.GridLayout14.为了对按钮被鼠标点击的事件进行响应,按钮事件应该实现的接口为( )A.MouseLisnterB. ActionListenerC. MouseMotionListenerD. ItemListener15.下列属于字节流的是( )A.InputStreamB. BufferReaderC. StringWriterD. PipedReader16.下列不会造成线程被阻塞的是( )A.调用线程对象的Suspend( ) 方法B.调用线程对象的wait( )方法C.调用线程对象的sleep( )方法D.调用线程对象的notify( )方法17.下列关于修饰符混用的说法,错误的是()A.abstract不能与final并列修饰同一个类B.abstract类中不可以有private的成员C.static方法中不能处理非static的属性D.abstract方法必须在abstract类或者接口中18.下列情况中,必需要建立try/catch块或者重新抛出异常的是( )A.打开一个文件并读取文件中的内容B.访问数组中的每一个元素C.调用一个函数,该函数的声明中含有throws语句D.两个整数相除,分母部分可能为019.语句String s1=”HUST”,s2 = “CS2005”;则下列语句中正确的是( )A.StringBuffer s3 = s1 + s2;B.StringBuffer s3 = (s1 + s2).toStringBuffer( );C.StringBuffer s3 = s1.subString(0,2);D.StringBuffer s4 = new StringBuffer(s1+s2);20.对于class A,如果在另一个包中的class B中,语句A a = new A( ); a.m=10;成立,则下列定义正确的是( )A.class A { int m; }B. public class A{ int m; }C.public class A{ public int m; }D. public class A{protected int m; }二、 判断下列命题的正误,正确的填”T ”,错误的填”F ”(每小题1分,共10分)1. Integer 类是Java 语言的基本数据类型之一( )2. 一个java 类可以有多个子类;( )3. 子类要调用父类的方法,必须使用super 关键字; ( )4. 语句import com.mycompany.*;可以导入com.mycompany 包中所有的类以及com.mycompany 的子文件夹里面的所有类.( )5. 一个java 文件经过编译后生成一个后缀为.class 的文件;( )6. 若语句A.fun();能顺利执行(A 是一个class ),则函数fun( )是一个static 函数.( )7. Java 程序中,变量a 和A 是等价的。

( )8. 接口中的所有方法都是抽象方法.( )9. 如果要让某一个类的对象能序列化,最适合的办法是该类实现Serializable 接口.( ) 10. 如果一个线程是自私的,则该线程的实例一旦占用CPU ,其它的线程就只能等待自私的线程执行完毕才有机会使用CPU.( )三、 写出程序运行时的输出结果(25分)1.(5分)class SuperClass{ static int i = 10; static{System.out.println(" static in SuperClass"); }SuperClass( ){System.out.println("SupuerClass is called");}}class SubClass extends SuperClass{static int i = 15;static{System.out.println(" static in SubClass");}SubClass( ){System.out.println("SunClass is called");}public static void main(String[] args){int i = SubClass.i;new SubClass( );new SuperClass( );}}运行结果:2.(5分)class A{int i=10;static int j = 18;A(int i)this.i = i;}A( ){ i = 10; }int getI( ){return i;}void setI(int i){j -= 10;this.i = i;}}class B extends A{int i = 20;B( ){i = 15;}int getI( ){return i;}void setI(int i){this.i = i;}public static void main(String[ ] args){A a = new A( );B b = new B( );b.j = a.i+b.i;System.out.println( a.getI( ));System.out.println(b.getI( ));System.out.println(a.j);a = b;a.setI(16);System.out.println(b.getI());System.out.println(a.j);}}运行结果:3.(5分)public class MultiThread implements Runnable { int num = 10;Thread thread1,thread2;MultiThread (){thread1 = new Thread(this);thread2 = new Thread(this);}public synchronized void inc(){ num += 5; }p ublic void run() {Thread thread = Thread.currentThread();for(int i = 0;i<5;i++){if(thread == thread1){inc();try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}else if(thread == thread2){System.out.println("num="+num);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}}public static void main(String[] args) {MultiThread t = new MultiThread();t.thread1.start();t.thread2.start();}}运行结果:4.(5分)class MyException extends Exception{MyException( ) { super();}MyException( String msg){ super(msg); }}class Stack{int size =100;int pos = 0;int[ ] data ;Stack(int i) throws MyException{if(i<=0)throw new MyException("the data size must be greater than 0");size = i;data = new int[size];pos = 0;}public int pop( ) throws MyException{if(pos==0)throw new MyException("Error occuerd while fun( ) in class Test is called");else {return data[--pos];}}public void push(int d) throws MyException{if(pos==size)throw new MyException("the stack is overflow");elsedata[pos++ ] = d;}public static void main(String[ ] args){try{Stack s = new Stack(10);for(int i = 10;i>=0;i--) {s.push(i);}int m = 10;m /= s.pop();}catch(MyException e){System.out.println("MyException is caught");return;}catch(ArithmeticException e1){System.out.println("ArithmeticException is caught");return;}finally{System.out.println("end");}System.out.println("program ended");}}运行结果:5.(5分)class ComplexNumber{int i = 0;int r = 0;static int count = 0;ComplexNumber(int r, int i){this.r = r;this.i = i;count++;}public ComplexNumber(ComplexNumber s){r = s.r;i = s.i;count++;}public ComplexNumber add(final ComplexNumber t ){i += t.i;r += t.r;return this;}public String toString( ){return r+"+"+i+"i";}}public class Main{public static void main(String[] args){ComplexNumber a = new ComplexNumber(3,4);ComplexNumber b = new ComplexNumber(2,3);ComplexNumber c = a.add(b);ComplexNumber d = new ComplexNumber(c);System.out.println("a="+a);System.out.println("b="+b);System.out.println("c="+c);System.out.println("c==d?true or fase? "+c.equals(d) );System.out.println("count="+a.count);}}运行结果:四、分析下面的程序,指出错误语句的行号并简述错误原因(10分)1. class CheckSample{2. private int m;3. public CheckSample(int n) { m = n; }4. public void fun( ){ System.out.println("fun() is called"); }5. }6. class DerivedCheckSample extends CheckSample{7. public DerivedCheckSample( ){ }8. public void fun(int p){ System.out.println("fun(int p) is called");}9. public void func( ){ m *= 2; }10. }11. public class ProError {12. public static void main(String[] args) {13. CheckSample a = new CheckSample();14. a.m = 10;15. a.fun( );16. DerivedCheckSample[ ] b=new DerivedCheckSample[10] ;17. b[0].func( );18. }19. }错误行号:错误原因:错误行号:错误原因:错误行号:错误原因:错误行号:错误原因:错误行号:错误原因:五、阅读程序回答问题(15分)import java.util.Calendar;import java.util.Date;abstract class Customer{String name;String address;int score = 0;Customer(String name,String address){ = name;this.address = address;}abstract String creditRating();}class GroupCustomer extends Customer{String contactName;GroupCustomer(String name,String address,String contactName){ super(name,address);this.contactName = contactName;}}class IndividualCustomer extends Customer{IndividualCustomer(String name,String address){super(name,address);}String creditRating( ){return "poor";}}class OrderItem{String productName;int number;double unitPrice;public OrderItem(String name,int number,double unitPrice){ productName = name;this.number = number;this.unitPrice = unitPrice;}}class OrderForm {Date dateReceived;Customer customer;OrderItem[] orderItem;int orderItemNumber = 0;boolean paid = false;OrderForm( ){dateReceived =Calendar.getInstance().getTime();orderItem = new OrderItem[3];}void setCustomer(Customer customer){this.customer = customer;}boolean addAOrderItem(OrderItem item) {if(orderItemNumber ==3)return false;orderItem[orderItemNumber++] = item;return true;}}(1)为订单类(OrderForm)增加一个构造器OrderForm(Customer customer ),该构造器的作用是为客户customer生成一个订单,如果customer为空,则抛出一个NullPointerException异常。

相关文档
最新文档