笔试程序题目

时间:2020-12-08 15:25:21 笔试题目 我要投稿

笔试程序题目

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

笔试程序题目

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]+",");
}
}
}

 

【笔试程序题目】相关文章:

分享Delphi程序员判断题笔试题目06-25

美的笔试题目12-15

惠普笔试题目08-10

伊利笔试题目07-09

夏普笔试题目07-03

奥美笔试题目06-18

会计笔试题目07-03

EXCEL笔试题目06-12

LG笔试最常考的笔试题目07-09

Intel笔试真题技术笔试题目06-27