笔试程序题目
一: 写入如下程序的.运行结果
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