logo资料库

北京大学软件学院《JAVA语言程序设计》期末考试试题.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
《JAVA 语言程序设计》期末考试试题 ( 适用对象:99 级计算机类专业 ) 2001 年 6 月 一、单选择题(每小题 2 分,共 10 分) 1、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展 名为( )。 A. C. .java .html B. D. .class .exe 2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。 A. C. 3 4 B. D. 3. 5 5 3、在 Java Applet 程序用户自定义的 Applet 子类中,一般需要重载父类的( 完成一些画图操作。 )方法来 A. C. start( ) init( ) B. D. stop( ) paint( ) 4、不允许作为类及类成员的访问控制符的是( )。 A. C. public static B. D. private protected 5、为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB 作 为前缀就可以调用它,该方法头的形式为( )。 static A. C. final void method( ) void method( ) B. public D. abstract void method( ) void method( ) 二、填空题(每空格 1 分,共 20 分) 1、开发与运行 Java 程序需要经过的三个主要步骤为 和 、 。 。 编译该源程序文件将产生 2、如果一个 Java Applet 源程序文件只定义有一个类,该类的类名为 MyApplet,则类 MyApplet 必须是 类的子类并且存储该源程序文件的文件名 为 3、如果一个 Java Applet 程序文件中定义有 3 个类,则使用 Sun 公司的 JDK 编译 器 而扩展名为 4、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码占 字节内存空间,这样,无论是中文字符还是英文字符,都是占 用 用 字节内存空间。 5、设 x = 2 ,则表达式 ( x + + )/3 的值是 6、若 x = 5,y = 10,则 x < y 和 x >= y 的逻辑值分别为 7、 必须在抽象类之中定义。 8、创建一个名为 MyPackage 的包的语句是 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法 方法是不能被当前类的子类重新定义的方法。 个文件名与类名相同 的字节码文件。 。 和 。 ,
该语句应该放在程序的位置为: 9、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个 语句后的输出结果是 。 。 int for s = 0 ; ( int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println( s ); 10、在 Java 程序中,通过类的定义只能实现 现 重继承关系。 三、写出下列程序完成的功能。(每小题 5 分,共 20 分) 重继承,但通过接口的定义可以实 1、public { public class static Sum void main( String sum = 0.0 ; args[ ]) double for i = 1 ; ( int sum += 1.0/(double) i ; i <= 100 ; i + + ) System.out.println( "sum="+sum ); { } } 2、 import public { java.io.* ; class Reverse public int { int for try { static void main(String args[ ]) i , n =10 ; a[ ] = new int[10]; ( i = 0 ; i < n ; i ++ ) BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); a[i] = Integer.parseInt(br.readLine( )); // 输入一个整数 } catch ( IOException e ) { } ; for ( i = n-1 ; i >= 0 ; i ―― ) System.out.print(a[i]+" "); System.out.println( ); } } 3、 import public { public { class java.awt.*; abc void static main(String args[]) new FrameOut(); } } class FrameOut extends Frame // Frame 为系统定
// 义的窗框类 { Button btn; FrameOut( ) { super("按钮"); btn = new Button("按下我"); setLayout(new add(btn); setSize(300,200); show( ); FlowLayout( )); } } 4、import public { public { } java.io.*; class abc static SubClass System.out.println(sb.max( )); void main(String args[]) SubClass( ); sb = new SuperClass a = 10 , b = 20 ; } } class int { class SubClass { int max( ) { extends SuperClass return ((a>b)?a:b); } } 四、写出下面程序的运行结果(每小题 10 分,共 30 分) 1、 import public { void main(String args[ ]) java.io.*; static class abc public { AB s = new AB("Hello!","I love JAVA."); System.out.println(s.toString( )); } AB { } class s1; s2; String String AB( String { public String { return s1+s2;} s1 = str1; str1 , String s2 = str2; } str2 ) toString( ) } 2、 import public { java.io.* ; abc class public static void main(String args[ ])
int int for i , s = 0 ; a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println("s="+s); { } } 3、import public { java.io.* ; abc class ) public static void main(String args[ ]) { System.out.println("a="+a+"\nb="+b); } SubClass extends SuperClass } class { } } class { int c; SubClass(int { super(aa,bb); c=cc; aa,int bb,int cc) extends SubClass SubSubClass a; int SubSubClass(int aa,int bb,int { super(aa,bb,cc); a=aa+bb+cc; cc) } void show() { System.out.println("a="+a+"\nb="+b+"\nc="+c); } } 五、使用 Java 语言编写程序。(每小题 10 分,共 20 分) 1、编写一个字符界面的 Java Application 程序,接受用户输入的 10 个整数,并输出这 10 个整数的最大值和最小值。 2、编写一个完整的 Java Applet 程序使用复数类 Complex 验证两个复数 1+2i 和 3+4i 相 加产生一个新的复数 4+6i 。 复数类 Complex 必须满足如下要求: (1) 复数类 Complex 的属性有: RealPart : ImaginPart : (2) 复数类 Complex 的方法有: int 型,代表复数的实数部分 int 型,代表复数的虚数部分
r , int i ) : 构造函数,形参 r 为实部的初值,i 为虚部的初值。 Complex( ) : 构造函数,将复数的实部和虚部都置 0 Complex( int Complex 的结果仍是一个复数值,返回给此方法的调用者。 String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其 中 a 和 b 分别为实部和虚部的数据。 a) : 将当前复数对象与形参复数对象相加,所得 complexAdd(Complex 《JAVA 语言程序设计》期末考试模拟试题 参考答案及评分标准 一、单选择题(每小题 2 分,共 10 分) 4、C 1、B 2、A 3、D 5、A 二、填空题(每空格 1 分,共 20 分) 1、编辑源程序、编译生成字节码、解释运行字节码 2、Applet、MyApplet 3、javac.exe、3、 . class 4、2 、2 5、0 6、true 、 false 7、抽象(abstract)方法、最终(final)方法 8、package MyPackage ; 9、120 10、单、多 应该在程序第一句。 三、写出下列程序完成的功能。(每小题 5 分,共 20 分) 1、计算 1/1+1/2+1/3+...+1/100 的值。 2、从标准输入(即键盘)读入 10 个整数存入整型数组 a 中,然后逆序输出这 10 个整数。 3、创建一个标题为"按钮"的窗框,窗框中显示有"按下我"字样的按钮。 4、求两个数的最大值。 love JAVA. 四、写出下面程序的运行结果(每小题 10 分,共 30 分) 1、Hello! I 2、s = 180 3、a=60 b=20 c=30 五、使用 Java 语言编写程序。(每小题 10 分,共 20 分) 1、参考程序如下: import java.io.* ;
class abc public { public { int void main(String static i , n = 10 , max = 0 , min = 0 , try { args[ ]) temp = 0; BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); max = min = Integer.parseInt(br.readLine( )); } catch ( IOException e ) { } ; for ( i = 2 ; i <= n ; i ++ ) try { { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); temp = Integer.parseInt(br.readLine( )); (temp > max ) max=temp; (temp < min) min=temp; if if } catch ( IOException e ) { } ; System.out.println("max="+max+"\nmin="+min); } } } 2、参考程序如下: import import public { java.applet.* ; java.awt.* ; class abc extends Applet Complex a,b,c ; public { void init( ) a = new Complex(1,2); b = new Complex(3,4); c = new Complex(); } public { void paint(Graphics g) c=a.complexAdd(b); g.drawString("第一个复数:"+a.toString(),10,50); g.drawString("第二个复数:"+b.toString(),10,70); g.drawString("两复数之和:"+c.toString(),10,90); } }
class Complex { ImaginPart ; r , int // 复数的实部 // 复数的虚部 int RealPart ; int Complex() { RealPart = 0 ; ImaginPart = 0 ; } Complex(int { RealPart = r ; Complex i) ImaginPart = i ; a) complexAdd(Complex } { Complex temp = new Complex( ); temp.RealPart=RealPart+a.RealPart; temp.ImaginPart=ImaginPart+a.ImaginPart; return temp; // 临时复数对象 } public String { toString( ) return ( RealPart+" + "+ImaginPart+" i "); } } (完)
分享到:
收藏