一: 写入如下程序的'运行结果 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); tln("i="+i+",j="+j); } } 我写的是 i=2, j=4。 而实际上的运行结果为i=1, j=3。 2、 public class A { public int Avar; public A(){ tln("AAA"); doSomething(); } public void doSomething(){ Avar = 1111; tln("mething()"); } } public class B extends A { public int Bvar = 2222; public B(){ tln("BBBB"); doSomething(); tln("Avar="+Avar); } public void doSomething(){ tln("Bvar="+Bvar); } public static void main(String[] args) { new B(); } } 我写的运行结果为: AAA mething() 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); tln("str1="+str1+",str2="+str2); int x=10; operateInt(x); tln(x); StringBuffer str3 = new StringBuffer("A"); StringBuffer str4 = new StringBuffer("B"); operateStringBuffer(str3, str4); tln("str3="+str3+",str4="+str4); testOperator(); } public static void operateString(String a, String b){ at(b); b=a; } public static void operateInt(int x){ x = x+100; } public static void operateStringBuffer(StringBuffer a, StringBuffer b){ nd("B"); b=a; } 输出结果为: A, B, 10, AB, B. 此题给出了正解。 5、 String 类型的变量也支持重载符: “+=”。 6、 编程题, 实现 归并排序算法: public class MergeSort2 { public int[] sort(int[] data) { int[] temp=new int[th]; mergeSort(data,temp,0,th-1); return data; } private void mergeSort(int[] data,int[] temp,int l,int r){ int mid=(l+r)/2; tln(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++){ tln("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=(datas); for(int i=0;i<th;i++){ t(datas[i]+","); } } } |
程序设计相关岗位笔试题目
进修社
人气:2.31W
热门文章
周排行榜