当前位置:首页 > 南京华为JAVA笔试题有答案
一、单选题
1、存类设计中,类的成员变量要求仅仅能够被同一package下的类访问,请问应该使用下列哪个访问修饰符
A ) protected B)public C)private D)缺省 2、下面那个是Runable接口的方法? A) run B)start C) yield D) stop 3、给出:以下类 public class Returnlt{
ReturnType methodA(byte x,double y){ return (short)x/y*2; }}
对于在第二行的方法methodA,他的返回值的类型应该是 A)int B)byte C) long D)short E)float F)double 4、现有下列代码片断:
switch(x){
case 1: System.out.println(\); break; case 2:
case 3: System.out.println(\); break;
default: System.out.println(\); } ×为何值时将输出”Test 2”
A) 1或2 B)l或2或3 C)2或3 D)3 E)default 5、public class Test{
public int aMethod(){ static int i=0; i++; return i; }
public static void main(String args[]){ Test test= new Test(); test.aMethod(); int j=test.aMethod(); System.out.println(j); }
} A)编译失败 B)编译成功和程序打出”O“ C)编译成功和程序打出”1”D)编译成
功和程序打出“2”
6、下列代码结果输出多少行?
public class Test{
public static void main(String[] args0){ int[][][] x = new int[3][][]; int j,i;
x[0]= new int[4][]; x[1]= new int[2][];
x[2]= new int[5][]; for(i= 0;i < x.length;i++){ for(j=0;j System.out.println(\ +x[i][j].length); }}}} A)8 B)9 C)10 D)11 E) 12 7、 int i=1; int j=10; do{ if(i>j){ break; } j--; }while(i++<5); System.out.println(\+i+\+j);输出结果? A)i=6 and j=5 B.)i=5 and j=5 C.)i=6 and j=4 D.)i=5 and j=6 E.)1=6 and j=6 8、关于一下application说明,正确的是 public class StaticStuff{ static int x = 10; static{x+=5;} public static void main(String args[]){ System.out.println(\+x); } static {x/=3;}; }A)4行与9行不能通过编译,因为缺少方法名和返回类型 B)9行不能通过编译,因为只能有一个静态初始化器 C )编译通过,执行结果为:x=5 D)编译通过,执行结果为:x=3 9、下面代码.说法正确的是? public class CRM { public static void main(String[]args) { static int person[]=new int[15]; System.out.println(person[15]); } } A)编译成功,运行时输出结果为0。 B)编译成功,运行时抛出异常 D)将system.out.println[15])修改为system.out.println[14]} 输出结果将为0。 10. CRM是BOSS的子类 C)编译失败。 public static void main(String[]args){ BOSS B1= new CRM(); BOSS B2= new CRM(); BOSS B3= new CRM(); B1.= B2; B2=null B3=B1; } 当程序执行到行6,有多少对象被回收? A)1 B)2 C)3 D)4 E)5 F)6 11、下面程序,输出结果为: public class Test { public static void main (String[]args) { String str=1+2+\; String str2=\+5+6; System.out.println(str+str2); } } A) 123456 B) 33411 C) 33456 D) 123411 12. Object申的clone方法的访问修饰符为 A) public B)private c)protected D)缺省 13、i+=l;i=i+1;i++; 上述表达式中性能最高的是 A)i+=1 B)i=i+1: c)i++: D)都—样 二、改错题 找出下列程序错误,并纠正错误 1.final class Test{//final class需要改成public abstract int i=0; abstract void getI(); } 2、abstract class AbTest{ private static int i=9; private abstract void doSth();//private需要改成protected或者是public protected int getI(){ return i; } } 三、算法题(请写出最优算法) 1、一只公鸡卖5块钱,一只母鸡卖3块钱,三只小鸡卖1块钱,用100块钱买100只鸡,能买到公鸡、母鸡、小鸡各多少只? 答:公鸡11只,母鸡8只,小鸡81只,分别设公鸡、母鸡、小鸡为X、Y、Z只,分别列式为:X+Y+Z=100,3X+5Y+1/3Z=100.得X=25-7/4Y则7/4Y<100/4,所以Y小于等于14,同理得出X、Z的区间:X<25,Y<15,Z>75.因为XYZ为小于100的整数,且Z只能是3的倍数,所以Z为81,得x为11,Y为8 2、int [] list = {2,8,1,20,13,15};请运用冒泡排序法将数组从小到大排序 public class Sort_Bubble { public static void main(String[] args) { int [] list = {2,8,1,20,13,15}; int [] arr = list; for(int i=arr.length-1;i>=0;i--){ } for(int j=0;j if(arr[j]>arr[j+1]){ } int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; //查看结果~~ for(int i=0;i } System.out.print(arr[i]+\); } 四、问答题 1、写出下列程序输出结果 public class Test{ public static void main(String[]args){ BOSS b = new BOSS(); b.develop(); } } class CRM{ CRM(int i) { System.out.println(\+i+\); } } CRM c1 = new CRM(1); class BOSS { BOSS() { System.out.println(\); c3 = new CRM(333); CRM t2 = new CRM(2); } void develop() {
共分享92篇相关文档