就业数据资源平台
当前位置:首页 > 笔试题目
笔试程序题目



一:  写入如下程序的运行结果          


1、 


 public class Test {

 int i = 1;

 int j = 3;

 

 public Test(int m, int n){

  this.i = m;

  this.j = n;

 }

 public Test(){}


 public static void main(String[] args) {

  new Test().test();

 }

 

 public void test(){

  new Test(4,2);

  System.out.println("i="+i+",j="+j);

 }

}


  我写的是 i=2, j=4。 而实际上的运行结果为i=1, j=3。


  


2、 


public class A {

 public int Avar;

 

 public A(){

  System.out.println("AAA");

  doSomething();

 }

 

 public void doSomething(){

  Avar = 1111;

  System.out.println("A.doSomething()");

 }


}


public class B extends A {

 

 public int Bvar = 2222;

 public B(){

  System.out.println("BBBB");

  doSomething();

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

 }

 

 public void doSomething(){

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

 }

 

 public static void main(String[] args) {

  new B();



   }


}


我写的运行结果为:


AAA


A.doSomething()


BBB


2222


1111


而实际运行结果为:


AAA

Bvar=0

BBB

Bvar=2222

Avar=0


 


3、  Interger integer;


        if(integer==42){   do  something  ...  }。 次代码片段在运行时抛 空指针异常。 因为Integer为非基本类型的变量, 其默认值为null,  所以 ....     ... 


 


4、 


/**

  * 测试 string 的

  */

 public static void main(String[] args) {

  String str1 = new String("A");

  String str2 = new String("B");

  operateString(str1, str2);

  System.out.println("str1="+str1+",str2="+str2);

  int x=10;

  operateInt(x);

  System.out.println(x);

  

  StringBuffer str3 = new StringBuffer("A");

  StringBuffer str4 = new StringBuffer("B");

  operateStringBuffer(str3, str4);

  System.out.println("str3="+str3+",str4="+str4);

  

  testOperator();

 }


 public static void operateString(String a, String b){

  a.concat(b);

  b=a;

 }

 

 public static void operateInt(int x){

  x = x+100;

 }

 

 public static void operateStringBuffer(StringBuffer a, StringBuffer b){

  a.append("B");

  b=a;

 }


输出结果为:  A, B, 10, AB, B.  此题给出了正解。


5、 String 类型的变量也支持重载符: “+=”。


 


6、  编程题, 实现 归并排序算法:


public class MergeSort2 {


public int[] sort(int[] data) {

        int[] temp=new int[data.length];

        mergeSort(data,temp,0,data.length-1);

        return data;

    }

   

    private void mergeSort(int[] data,int[] temp,int l,int r){

        int mid=(l+r)/2;

        System.out.println(l+", "+mid+", "+r);

        if(l==r) return ;

       

        mergeSort(data,temp,l,mid);

        mergeSort(data,temp,mid+1,r);

        for(int i=l;i<=r;i++){

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

            temp[i]=data[i];

        }

        int i1=l;

        int i2=mid+1;

        for(int cur=l;cur<=r;cur++){

            if(i1==mid+1)

                data[cur]=temp[i2++];

            else if(i2>r)

                data[cur]=temp[i1++];

            else if(temp[i1]<temp[i2])

                data[cur]=temp[i1++];

            else

                data[cur]=temp[i2++];           

        }

    }

   

/**

* @param args

*/

public static void main(String[] args) {

int[] datas={1,21,34,79,98,23,68,2,3,8,6,33,6,7,87,32,24,6,776};

MergeSort2 mergeSort=new MergeSort2();

datas=mergeSort.sort(datas);

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

System.out.print(datas[i]+",");

}

}

}


 



就业数据资源平台