分享

《Java 程序设计》模拟试题

 looline 2006-12-21

 

中国矿业大学成人教育学院2002~2003学年第二学期

《Java 程序设计》模拟试题(A卷) 

站点: 直属站   专业年级:夜大信息00  形式: 闭卷  层次: 专科  

       考核方式:闭卷

一、单选择题(每小题2分,共20分)

1、编译Java  Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(   B   )。

         A.  java                      B.  class

         C.  html                      D.  exe

2、设int型变量x = 1 , y = 2 , z = 3,则表达式  y+=z--/x++  的值是(   D   )。

         A.    3                        B.    3. 5

         C.    4                        D.    5

3、在Java  Applet程序用户自定义的Applet子类中,一般需要重载父类的(    D  )方法来完成一些画图操作。

    A.   start( )                    B.   stop( )

    C.   init( )                     D.   paint( )

4、不允许作为类及类成员的访问控制符的是(  C    )。

    A.   public                    B.   private

    C.   static                     D.   protected

5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(  A   )。

    A. static  void  method( )                    B. public  void  method( )   

    C. final  void  method( )                      D. abstract  void  method( )

6、下列浏览器中,可以运行HTML中的Applet,而忽略其他HTML命令的是(   D   )。

    A.  Netscape 3.0                     B.  Internet Explorer5.0   

    C.  Hot Java                        D.  Appletviewer

7、以下哪一个不是JAVA的标准数据流(  D    )。

    A.  标准输出数据流              B.  标准输入数据流  

    C.  标准错误数据流              D.  标准运算数据流

8、下面声明数组的写法错误( D  )。

A.  int  a[ ];                    B:  int[ ]  a;

C:  int[ ][ ]  a[3][ ];              D;  int[ ][ ] a[ ][3];

9: 设x为float型变量,y为double型变量,a为int型变量,b为long型变量, c为char型变量,则表达式x+y*a/x+b/y+c的值为(  C   )类型。

 

    A:  int                         B:long

C:  double                      D:char

10: x=2.5,a=7,y=4,则表达式x+a%3*(int)x%(int)y的值为(   C   )。

A:  2.5                         B:3.5

C:  4.5                         D:5.5

二、填空题(每空格1分,共20分)

1、开发与运行Java程序需要经过的三个主要步骤为 编辑源程序  、 编译生成自节码  和解释运行字节。

2、如果一个Java  Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是  Applet  类的子类并且存储该源程序文件的文件名为 MyApplet.java。

3、如果一个Java  Applet程序文件中定义有3个类,则使用Sun公司的JDK编译

器  javac.exe            编译该源程序文件将产生    3   个文件名与类名相同而扩展名为      .class              的字节码文件。

4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占

用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用  2    字节内存空间。

5、使用数组时,下标表达式是整型表达式,下标的范围为   0   至   数组长度减1  

6、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为     true      和    false       。

8、创建一个名为 MyPackage 的包的语句是  package   MyPackage ;    该语句应该放在程序的位置为:   应该在程序第一句   。

9、在Java程序中,通过类的定义只能实现   单   重继承,但通过接口的定义可以实现   多重继承关系。

10、在文件操作中,public String getName()功能是  得到文件名  。

public String getAbsolutePath()功能是  返回文件绝对路径  。

 

三、简答题(每小题7分,共35分)

1、写出下面程序的功能?

public  class   Sum

{  public  static  void   main( String  args[ ])

   {   double   sum = 0.0 ;

       for  ( int  i = 1 ;  i <= 100 ; i + + )

           sum += 1.0/(double) i ;

      System.out.println( "sum="+sum );

   }

}

答案:计算 1/1+1/2+1/3+...+1/100 的值。

2、写出下面程序的功能?

import  java.io.* ;

    public  class  Reverse

    {   public  static  void   main(String  args[ ])

        {   int   i , n =10 ;

            int  a[ ] = new int[10];

            for  ( i = 0 ; i < n ; i ++ )

            try {

                 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( );

        }

   }

答案:从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。

3、写出下面程序的运行结果

import    java.io.*;

public  class  abc

{         public  static  void  main(String args[ ])

          {    AB  s = new  AB("Hello!","I love JAVA.");

               System.out.println(s.toString( ));

          }

}

class   AB {

  String   s1;

  String   s2;

  AB( String  str1 , String  str2 )

  {  s1 = str1;  s2 = str2; }

  public   String   toString( )

  { return  s1+s2;}

}

答案:Hello! I  love  JAVA.

4、  出下面程序的运行结果

import    java.io.* ;

    public   class  abc

    {

          public   static   void    main(String  args[ ])

          {    int   i , s = 0 ;

               int  a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };

               for  ( i = 0 ; i < a.length ; i ++ )

                     if ( a[i]%3 = = 0 )  s += a[i] ;

               System.out.println("s="+s);

           }

}

答案:s = 180

5、出下面程序的运行结果

class change{

  void changeint(int x){

    x++;

  }

  public static void main(String args[]){

    int a=2;

    System.out.println("Before changed:  "+"a="+a);

    change cxz=new change();

    cxz.changeint(a);

    System.out.println("After changed:  "+"a="+a);

  }

}

答案:Before changed:  a=2

      After changed:  a=2

四、使用Java语言编写程序题。(共25分,第1题10分,第2题15分)

1、  打印出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数,其各位数字的立方和等于其本身。

例如:153是个“水仙花数”,因为153=13+53+3

 

class sxh{

  public static void main(String args[]){

    int first,second,third;

    for(int a=100;a<1000;a++){

      first=a/100;

      second=a/10%10;

      third=a%10;

      if(a==first*first*first+second*second*second+third*third*third){

        System.out.println(a);

      }

    }

  }

}

2、  编写一种从小到大排序程序。例如:a数组中有10个数。分别是{3,2,5,21,9,10,7,16,8,20},经过排序算法后,a数组变为{2,3,5,7,8,9,10,16,20,21,}。

class paixu{

  public static void main(String args[]){

    int a[]={3,2,5,21,9,10,7,16,8,20};

    int b,c,d;

    System.out.println("befor sorted");

    for(b=0;b<10;b++){

      System.out.print(a[b]+"    ");

    }

    System.out.println("");

    for(b=1;b<=9;b++)

      for(c=0;c<=9-b;c++){

        if(a[c]>a[c+1]){

          d=a[c];

          a[c]=a[c+1];

          a[c+1]=d;

        }

      }

    System.out.println("after sorted");

    for(b=0;b<10;b++){

      System.out.print(a[b]+"    ");

    }

    System.out.println("");

  }

}

中国矿业大学成人教育学院2002~2003学年第二学期

《Java 程序设计》模拟试题(B卷) 

站点: 直属站   专业年级:夜大信息00  形式: 闭卷  层次: 专科  

       考核方式:闭卷

 

一、单选择题(每小题2分,共10分)

1、编译Java  Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

         A.    .java       B.    .class          C.    .html       D.    .exe

2、设 x = 1 , y = 2 , z = 3,则表达式  y+=z--/++x  的值是(      )。

         A.    3        B.    3. 5            C.    4        D.    5

3、在Java  Applet程序用户自定义的Applet子类中,一般需要重载父类的(      )方法来完成一些画图操作。

    A.   start( )                    B.   stop( )

    C.   init( )                     D.   paint( )

4、不允许作为类及类成员的访问控制符的是(      )。

    A.   public                    B.   private

    C.   static                     D.   protected

5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(      )。

    A.  static  void  method( )                    B. public  void  method( )   

    C. final  void  method( )                      D. abstract  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  s = 0 ;

    for  ( int  i = 0 ; i < MyIntArray.length ; i + + )

if  ( i % 2 = = 1 )   

s += MyIntArray[i] ;

   System.out.println( s );

10、在Java程序中,通过类的定义只能实现               重继承,但通过接口的定义可以实现               重继承关系。

 

三、写出下列程序完成的功能。(每小题5分,共20分)

1、public  class   Sum

{  public  static  void   main( String  args[ ])

   {   double   sum = 0.0 ;

       for  ( int  i = 1 ;  i <= 100 ; i + + )

           sum += 1.0/(double) i ;

      System.out.println( "sum="+sum );

   }

}

 

2、 import  java.io.* ;

    public  class  Reverse

    {   public  static  void   main(String  args[ ])

        {   int   i , n =10 ;

            int  a[ ] = new int[10];

            for  ( i = 0 ; i < n ; i ++ )

            try {

                 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     java.awt.*;

    public    class    abc

    {  public   static   void    main(String args[])

          {      new FrameOut();       }

    }

    class   FrameOut   extends    Frame     //  Frame为系统定

     {   Button btn;                                        //  义的窗框类

         FrameOut( )

         {       super("按钮");

                 btn = new  Button("按下我");

                 setLayout(new   FlowLayout( ));

                 add(btn);

                 setSize(300,200);

                 show( );

          }

      }

 

4、import    java.io.*;

   public    class   abc

   {   public   static   void   main(String args[])

         {   SubClass    sb = new   SubClass( );       

             System.out.println(sb.max( ));

         }

     }

    class    SuperClass

   {   int  a = 10 , b = 20 ;  }

   class  SubClass  extends  SuperClass

   {   int  max( ) {  return   ((a>b)?a:b);  }  }

 

四、写出下面程序的运行结果(每小题10分,共30分)

1、 import    java.io.*;

public  class  abc

{         public  static  void  main(String args[ ])

          {    AB  s = new  AB("Hello!","I love JAVA.");

               System.out.println(s.toString( ));

          }

}

class   AB {

  String   s1;

  String   s2;

  AB( String  str1 , String  str2 )

  {  s1 = str1;  s2 = str2; }

  public   String   toString( )

  { return  s1+s2;}

}

 

2、 import    java.io.* ;

    public   class  abc

    {

          public   static   void    main(String  args[ ])

          {    int   i , s = 0 ;

               int  a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };

               for  ( i = 0 ; i < a.length ; i ++ )

                     if ( a[i]%3 = = 0 )  s += a[i] ;

               System.out.println("s="+s);

           }

}

 

3、class father{

  void speak(){

    System.out.println("I am father!");

  }

}

 

class son extends father{

  void speak(){

    super.speak();

    System.out.println("I am son!");

  }

  public static void main(String args[]){

    son cxz=new son();

    cxz.speak();

   

  }

}

 

五、使用Java语言编写程序。(每小题10分,共20分)

 

1、编写一个字符界面的Java  Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。

 

2、编写一个完整的Java  Applet 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。

     复数类Complex必须满足如下要求:

(1)   复数类Complex 的属性有:

RealPart :    int型,代表复数的实数部分

ImaginPart :  int型,代表复数的虚数部分

(2)   复数类Complex 的方法有:

Complex( ) : 构造函数,将复数的实部和虚部都置0

Complex( int  r , int  i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。

Complex  complexAdd(Complex  a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

String  ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。






    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多