您好,欢迎访问三七文档
(第1页)2013级《Java编程技术》复习考试时间:11月7日(周五)下午4:00-6:0088人的在11204126人的在11210实验报告:考试当天学习委员收齐(实验报告封面+打印版A4)下周最后一次实验验收未完成的程序。考试题型:1、单项选择题(1分*30=30分)2、程序阅读(只需输出有标记处结果)(6分*5=30分)3、程序改错(如果错误,请改正)(5分*4=20分)4、程序设计(共2小题,每题10分,共20分)(第2页)例题:1、关于Java的修饰符,以下说法错误的是(B)。A.抽象类中的方法不一定都是抽象方法B.final类中的属性和方法都必须被final修饰符修饰C.类及其属性、方法可以同时有一个以上的修饰符来修饰D.要使类中某个成员变量只能被它自身访问到,该变量只能用private修饰2、以下声明合法的是(A)A、defaultStrings;B、publicfinalstaticnativeintw()注:native和static修饰符不能同时使用C、abstractdoubled;D、abstractfinalinthyperbolicCosine()3、有以下程序片段,下列哪个选项不能插入到行1。(A)1.2.publicclassA{3.//dosth4.}A、publicclassMainClass{}B、packagemine;C、classANotherClass{}D、importjava.util.*;4、有程序片段如下,以下哪个表示式的结果为true?(B)Floats=newFloat(0.1f);Floatt=newFloat(0.1f);Doubleu=newDouble(0.1);A、s==tB、s.equals(t)C、u.equals(s)D、t.equals(u)5、类Test1、Test2定义如下:1.publicclassTest1{2.publicfloataMethod(floata,floatb)throwsIOException{3.}4.}5.publicclassTest2extendsTest1{6.7.}将以下哪种方法插入行4是不合法的。(A)A、floataMethod(floata,floatb){}B、publicintaMethod(inta,intb)throwsException{}C、publicfloataMethod(floatp,floatq){}D、publicintaMethod(inta,intb)throwsIOException{}6、将以下哪个方法的定义插入第6行后,会引发编译错误?(A)1.classSuper{2.publicvoida(){}3.}(第3页)4.5.publicclassSubextendsSuper{6.7.}A.floata(){return1;}B.publicvoida(intx){}C.publicvoida(floatf){}D.publicfloata(intx){return(float)x;}7、给出如下代码,错误的是(C)abstractclassA{privateinti=1;//Aabstractintaa(intx,inty);//Babstractvoidbb(){};//Cpublicvoidcc(){System.out.println(i);}//D}8、写出结果①②的输出结果classValue{staticintc=0;Value(){c=15;}Value(inti){c=i;}staticvoidinc(){c++;}}publicclassCount{publicstaticvoidprt(Strings){System.out.println(s);}Valuev=newValue(10);staticValuev1,v2;static{prt(v1.c=+v1.c+v2.c=+v2.c);v1=newValue(27);prt(v1.c=+v1.c+v2.c=+v2.c);v2=newValue(15);prt(v1.c=+v1.c+v2.c=+v2.c);}publicstaticvoidmain(String[]args){Countct=newCount();prt(ct.c=+ct.v.c);//①(第4页)prt(v1.c=+v1.c+v2.c=+v2.c);v1.inc();prt(v1.c=+v1.c+v2.c=+v2.c);prt(ct.c=+ct.v.c);//②}}9、publicclassABC{publicstaticvoidmain(Stringargs[]){inti,j;inta[]={9,7,5,1,3};for(i=0;ia.length-1;i++){intk=i;for(j=i;ja.length;j++)if(a[j]a[k])k=j;inttemp=a[i];a[i]=a[k];a[k]=temp;}for(i=0;ia.length;i++)System.out.print(a[i]+);//⑤System.out.println();}}10、已有Bird类的定义如下:packageabcde;publicclassBird{protectedstaticintreferenceCount=0;publicBird(){referenceCount++;}protectedvoidfly(){}staticintgetReCount(){returnreferenceCount;}}有类Nightingale的定义如下,请写出它的输出结果。packagesingers;classNightingaleextendsabcde.Bird{Nightingale(){referenceCount++;}publicstaticvoidmain(Stringargs[]){System.out.print(“Before:”+referenceCount);Nightingaleflorence=newNightingale();System.out.println(“After:”+referenceCount);florence.fly();}}(第5页)编程题1、定义一个三角形Triangle类:数据成员:a,b,c(double类型);具有的操作:(1)构造函数,设置三角形三边Triangle(double,double,double);(2)判断是否构成三角形isTriangle();(3)计算三角形面积getArea();(4)输出三角形三边showSize()。publicclassTriangle{privatedoublea,b,c;publicTriangle(doublex,doubley,doublez){a=x;b=y;c=z;}publicbooleanisTriangle(){returna+bc&&a+cb&&b+ca;}publicdoublegetArea(){doubles=(a+b+c)/2.0;if(isTriangle())returnMath.sqrt(s*(s-a)*(s-b)*(s-c));elsereturn-1;}publicvoidshowSize(){System.out.println(三角形三边a=+a+,b=+b+,c=+c);}publicstaticvoidmain(String[]args){Trianglet1=newTriangle(3,4,5);if(t1.isTriangle()){t1.showSize();System.out.println(三角形面积=+String.format(%.2f,t1.getArea()));}else{t1.showSize();System.out.println(不构成三角形!);}}}2、定义一个整形堆栈IntStack接口,包含2个方法:voidpush(intitem)和intpop()(1)创建一个FixedStack类,实现一个固定长度的整数堆栈。interfaceIntStack{voidpush(intitem);intpop();}publicclasstestStack{publicstaticvoidmain(String[]args){FixedStackmystack1=newFixedStack(5);for(inti=0;i5;i++)mystack1.push(i);System.out.print(Stackinmystack1:);for(inti=0;i5;i++)System.out.print(mystack1.pop()+);}}publicclassFixedStackimplementsIntStack{privateintstck[];privateintpos;(第6页)publicFixedStack(intsize){stck=newint[size];pos=-1;}publicintpop(){if(pos0){System.out.print(Stackisunderflow.);return-1;//不是特别好}elsereturnstck[pos--];}publicvoidpush(intitem){if(pos==stck.length-1)System.out.print(Stackisfull.);elsestck[++pos]=item;}}(2)创建一个动态栈DynStack类,每个栈都以一个初始长度构造,如果初始化长度被超出,则堆栈的大小将成倍增加(原有数据要保留)。publicclasstestStack{publicstaticvoidmain(String[]args){DynStackmystack1=newDynStack(5);for(inti=0;i10;i++)mystack1.push(i);System.out.print(Stackinmystack1:);for(inti=0;i10;i++)System.out.print(mystack1.pop()+);}}publicclassDynStackimplementsIntStack{privateintstck[];privateintpos;publicDynStack(intsize){stck=newint[size];pos=-1;}publicintpop(){if(pos0){System.out.print(Stackisunderflow.);return-1;}elsereturnstck[pos--];}publicvoidpush(intitem){if(pos==stck.length-1){inttemp[]=newint[stck.length*2];for(inti=0;istck.length;i++)temp[i]=stck[i];//转存stck=temp;stck[++pos]=item;}elsestck[++pos]=item;}}(第7页)运行题改错题publicinterfaceA{intvar;//错,var不是变量,实际是publicstaticfinal常量必须初始化publicA(){...};//错,接口中不能包含构造函数voidmethod(){...};//错,接口中只能包含抽象方法,没有方法体protectedvoidmethod2();//错,接口中的方法必须是public类型staticvoidmethod3();//错,接口中不能包含静态方法}
本文标题:JAVA考题
链接地址:https://www.777doc.com/doc-2881422 .html