程序設計相關崗位筆試題目
一: 寫入如下程序的'運行結果 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、 編程題, 實現(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]+","); } } } |
【程序設計相關崗位筆試題目】相關文章:
營銷崗位筆試題目10-01
騰訊hr崗位筆試題目09-03
Google技術崗位筆試題目08-13
審計崗位面試筆試題目09-10
軟件崗位測試筆試題目08-31
美的筆試題目12-15
會計筆試題目07-03
EXCEL筆試題目06-12
惠普筆試題目08-10
夏普筆試題目07-03