您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 2011-2012年上海交通大学《Java语言程序设计》期末试题B卷-答案
上海交通大学绝密*启用前2011-2012年上海交通大学《Java语言程序设计》期末试题B卷(2011—2012学年第1学期)考试形式笔试(闭卷)使用学生11本科生考试时间120分钟出卷时间2012年06月17日【说明】(1)考生应将全部答案都写在答题纸上,否则作无效处理。(2)试题一~五为程序填空选择题,请从供选择答案中为每个空格挑选出一个正确答案,并写在答题纸上,试题六为程序填空题,试题七八为程序设计题。试题一(程序选择,每题2分,共10分)【程序说明】利用下列公式计算pi的近似值,要求精确到10-6为止。请将程序填充完整或回答相关问题。Pi/4≈1–1/3+1/5–1/7+…【程序代码】publicclassCalculatePI{publicstaticvoidmain(String[]args){System.out.printf(pi=%.6f,Pi());}publicstaticdoublePi(){doubleresult,item;intdenominator;result=0;denominator=1;(1)C;do{item=(2)A;result+=item;sign=-sign;denominator+=2;}while((3)B);returnresult*4;}}上海交通大学【可供选择的答案】(1)A.intsignB.intsign=0C.intsign=1D.intsign=-1(2)A.(double)sign/denominatorB.(int)sign/denominatorC.sign/denominatorD.1.0/denominator(3)A.Math.abs((int)sign/denominator)=1e-6B.Math.abs((double)sign/denominator)=1e-6C.(double)sign/denominator=1e-6D.Math.abs((int)sign/denominator)=10-6(4)以下关于main方法说法正确的是C。A.一个类不可以没有main方法;B.一个类可以有多个main方法;C.一个应用程序可以有多个类,并且每个类可有main方法;D.一个可执行的应用程序可以没有main方法。(5)以下关于main方法前的关键字void说法正确的是C。A.表示该方法不能输出任何结果;B.表示该方法的静态方法;C.表示该方法不返回任何结果;D.表示该方法的访问权限是公有的。试题二(程序选择,每题2分,共10分)【程序说明】以下程序是某个类的一个sort方法,功能是对作为参数传入的int型数组arrayX用冒泡法对其进行由小到大排序,请将程序填充完整或回答相关问题,要求选出最佳答案。【程序代码】publicvoidsort((6)A){intt;for(intk=0;karrayX.length-1;k++){for(intj=1;j(7)D;j++){if((8)A){t=arrayX[j];(9)D;arrayX[j-1]=t;}}}}【可供选择的答案】上海交通大学(6)A.int[]arrayXB.intarrayXC.int[]arrayX[]D.finalint[]arrayX(7)A.arrayX.length-1B.arrayX.lengthC.arrayX.length-kD.k(8)A.arrayX[j-1]arrayX[j]B.arrayX[j]arrayX[j-1]C.arrayX[j]arrayX[j-1]D.arrayX[j]arrayX[j+1](9)A.t=arrayX[j-1]B.arrayX[j]=tC.arrayX[j-1]=arrayX[j]D.arrayX[j]=arrayX[j-1](10)以下关于数组的说法错误的是A。A.int型数组可以放直接放double型数据;B.起始下标为0;C.int型数组可以放直接放byte型数据;D.下标越界时,会抛出异常试题三(程序选择,每题2分,共12分)【程序说明】Triangle为三角形类,方法getArea()用于计算并返回三角形面积(根据三边a,b,c求三角形面积的方法是:令2cbap,面积))()((cpbpapps),请将程序填充完整或回答相关问题。【程序代码】publicclassTriangle{privatedoublesideA;privatedoublesideB;privatedoublesideC;publicTriangle(doublea,doubleb,doublec)(11)C{if((a+b=c)||(b+c=a)||(a+c=b)){thrownewException(三条边不能构成三角形);}else{sideA=a;sideB=b;sideC=c;}}public(12)AgetArea(){上海交通大学=0;doublel=(sideA+sideB+sideC)/2.0;s=(13)A;returns;}}publicclassTest{publicstaticvoidmain(String[]args){doublea=3.0,b=4.0,c=5.0;//***try{(14)D;System.out.println(三角形面积为+tri.getArea());}(15)C{System.out.println(ex.getMessage());}}}【可供选择的答案】(11)A.空B.thrownewException()C.throwsExceptionD.throwsIOException(12)A.doubleB.voidC.floatD.int(13)A.Math.sqrt(l*(l-sideA)*(l-sideB)*(l-sideC))B.Math.sqrt(l(l-sideA)(l-sideB)(l-sideC))C.Math.abs(l*(l-sideA)*(l-sideB)*(l-sideC))D.Math.abs(l(l-sideA)(l-sideB)(l-sideC))(14)A.Triangletri=newTriangle()B.TriangletriC.Triangletriangle=newTriangle(a,b,c)D.Triangletri=newTriangle(a,b,c)(15)A.catch(IOExceptionex)B.catch(Exceptione)C.catch(Exceptionex)D.catch(IOExceptione)上海交通大学(16)该程序的输出结果为A。A.三角形面积为6.0B.三条边不能构成三角形C.6.0D.程序出错,没有结果试题四(程序选择,每题2分,共8分)【程序说明】以下程序为类Person、Animal、Chinese、Zhejiang和Test的代码,请将程序填充完整或回答相关问题。【程序代码】//Person.javapackagecn.zjnu.ks;public(22)BclassPerson{(23)BStringhairColor;publicabstractvoidspeak();publicPerson(){hairColor=””;System.out.println(人类);}}//Animal.javapackagecn.zjnu.animal;publicclassAnimal{}//Chinese.javapackagecn.zjnu.chinese;publicclassChineseextendsPerson{publicvoidspeak(){System.out.println(我会说汉语);}publicvoidspeak(Stringmsg){System.out.println(我会说+msg);}publicChinese(){hairColor=黑色;System.out.println(中国人);}}//Zhejiang.java上海交通大学{publicvoidspeak(){(24)A//调用父类的方法speak()}publicZhejiang(){System.out.println(浙江人);}}//Test.javapublicclassTest{publicstaticvoidmain(String[]args){Zhejiangp=newZhejiang();}}【可供选择的答案】(22)A.voidB.abstractC.fianalD.static(23)若成员变量hairColor能被类Chinese中的方法访问,但不被Aniaml类中方法访问,则应该填入A.publicB.protectedC.privateD.static(24)A.super.speak();B.Chinese.speak();C.speak();D.this.speak();(25)执main()方法,输出的结果为AA.人类中国人浙江人B.人类我会说汉语浙江人C.浙江人中国人人类D.我会说汉语我会说浙江普通话试题五(程序填空,每题2分,共14分)【程序说明】请按程序模板及注释要求,将程序填充完整。【程序代码】【代码1】//仔细阅读程序,导入必要的包上海交通大学*;publicclassMyFrameextendsFrame【代码2】//实现事件监听接口{TextFieldtext;Labellabel;publicMyFrame(){this.setBounds(100,100,300,200);【代码3】//创建TextField对象:text,要求text的可见字符数为12个机器字符。【代码4】//创建Label对象:label,要求label上是Ilovethisgame。【代码5】//设置窗口的布局为FlowLayout型布局。【代码6】//将当前窗口作为text的ActionEvent事件的监视器。this.add(label);this.add(text);【代码7】//设置窗口可见this.addWindowListener(【代码8】{//创建窗体适配器的匿名类对象publicvoidwindowClosing(WindowEvente){【代码9】}//退出应用程序});//匿名类定义结束}publicvoidactionPerformed(ActionEvente){【代码10】//label调用方法将自己名字设置为text中的文本}}【代码1】importjava.awt.*;【代码2】implementsActionListenter【代码3】text=newTextField(12);【代码4】label=newLabel(Ilovethisgame);【代码5】setLayout(newFlowLayout());【代码6】text.addActionListener(this);【代码7】this.setVisible(true);【代码8】newWindowListener()【代码9】System.exit(0);【代码10】label.setText(text.getText());试题六(编程题,共15分)【编程要求】根据以下的设计要求编写java源代码。类名:Person变量(访问权限均为private):name(String)//姓名,age(int)//年龄上海交通大学方法:构造方法(没有参数,设置姓名为“无名氏”,年龄为20)s
本文标题:2011-2012年上海交通大学《Java语言程序设计》期末试题B卷-答案
链接地址:https://www.777doc.com/doc-3043927 .html