筆試程序題目
一: 寫入如下程序的運行結(jié)果
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,
筆試程序題目
。 而實際上的運行結(jié)果為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();
}
}
我寫的`運行結(jié)果為:
AAA
A.doSomething()
BBB
2222
1111
而實際運行結(jié)果為:
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;
}
輸出結(jié)果為: A, B, 10, AB, B. 此題給出了正解,
資料共享平臺
《筆試程序題目》(http://www.szmdbiao.com)。5、 String 類型的變量也支持重載符: “+=”。
6、 編程題, 實現(xiàn) 歸并排序算法:
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]+",");
}
}
}
【筆試程序題目】相關(guān)文章:
1.程序類筆試題目
7.筆試題目