2019年04月自学考试04747《Java语言程序设计(一)》真题和答案.docx
绝密考试结束前全国2019年4月高等教育自学考试JaVa语言程序设计(一)试题课程代码:04747请考生校奴定用笫将所有试题的答案涂、写在答题纸上。选择题部分注重事项:1.答题前,考生务必野自己的考试课程名衿、姓名、准考证号用晶色字迹的裳字笔或钢笔填写在若魔纸现定的位置上.2,每小癌选出答案后,用2BO笔也答题纸上对应题目的答案标号捺鼻。如需改动,用橡皮擦干净后,再选涂其他答案标号.不能答在试班卷上.一、单项选探毁:木大Ii共10小我,街小Iil分,共10分.在每小般列出的留选项中只有一项是最符合题目要求的,请将其送出.I.下列字符串中.能作为JaVa程序标识符的是B.operatorD.interfaceB.42A.WHI1.EC.short2 .衰达式85»1的僚是A.42.5D.fake3 .己如booleana=falsc;,以下选项中,与for(;)不管仗的是A.for(;true;)B.for(;!a;)C.fi>r(Jfake;)D.for(;a-falsc;)4 .定义一个类时,如果没有为类定义构遗方法,则A.系统会创建一个带参数的构造方法B.系统会创建一个不带参数的构造方法C.系统什么也不做D.系统会提示一条怡误信息5 .设有StringS="ABC麟FG则表达式$.sUbString(3)+ssubshing(35)的值是A.ABCDDEFB.DEFGDEFC.DEFGDE6.下列有关搂口的描述中.正确的是A.接口与抽欧类是相间的概念C.接口之间不能有继承关系D.ABCDDEB.一个美不可实现多个接口D.实现接口必须实现该接口的所有方法7 .在下列选项中,对象序列化可以保存的是A.态成员变是B.非的态成员变量C.任冏成员方法D.变量的修饰苻8 .下列选项中,属于Grid1.ayoUt布局特点的是A.组件从上到下排列放JSB.组件可出会放巴C.容器被分成网格状D各组件所占区域可以不同9 .在下列关于创建菜单承的描述中,不可用的是A.可以创建空菜单项B.可以创建含有图标的菜单项C.可以创珑含有快捷槐的菜雄项D.不能创建只显示图惊的菜单或10 .下齐选项中,能让戏程从等待状态恢复到就绪状态的方法是A.noli。'。B.SUrtOC.initD.11m非选择题部分注意事项:用黑色字迹的签字笔或锅篁将答案写在答题纸上,不能若在试题卷上。二'填空船:本大题共10小12,每空2分,共20分.II.在WindOWS操作系统下安装JDK并设置系统环境变址后.可以在命令行窗口坳入命令进行利试.12 .在JaVa程序中CharSI与E皇变0进行Jr术运算后,其结果的类熨是.13 .当要在程序中使用其他包中提供的类时,府要使用关1字引入所需要的类.14 .白动将基本数据类型转换为对应的包装类的过程称为.15 .String类中将当前字符串中所有字符转换为小马形式的方法的名字是.16 .类A的某个成员受世的美盛是类B,则类A和类B之间是关系.17 .在BUflferCdReadCr类中能够实现按行输入的方法的名字是.18 .Key1.iSJener接口的作用是.9.SMngffl件定义在包中.20 .在解决燃程同步问题时,Waito方法的作用是让当前线程桂放其所持有的.三'筋答期:本大题共S小题,每小题4分,共20分.21 .请写出二元龙辑运算中的“短路”操作功能.22 .请写出用M语句实现计ky-x5的代码.23 .请写出以下程序中有情误的代码行的行号.1 classTesr23(2 floata;staticfloatb;finalfloatc_0.0f;3 suticvoidSetAB(booleanf)4 a-methodi(f);5 b三method!(!f);6 c=methodI(f);)7 suticfloatmethodI(booleanf)returnf?a:b;)8 floatmcthod2(boolcanf)returnf?bu;24 .请写出为文本文件abc.txt创建BuflcrcdReader对象in的代码.25 .请写出创建Font类型对象Ih的代码fn的属性值是CoUriCr字体,BO1.Dff20磅字号四、程序填空3:本大J®共3小题,短空2分,共18分26 .以下方法gGMaxCo11un()计算正盛数m和n的很大公妁效并返回注,方法中使用的是爆转相除法PUb耻staticintgetMaxComm(intm.intn)if(m<-On<O)SySICmQU1.PrinUM”输入数据错谡!");if(m<n)inttemp-0;temp=m;m=n;:)intr=:while(r!»0)(mnjnrrm%n;return:)27.以下MyPanCl类在面板上放H一个列表,当单击列表中某个选项时,谟选项的值保存在SClCkCm中classMyPaneIextendsJPanelimplementsprivateSiringSclcItcm三null;J1.iStlist;MyPanel(String()Iistltcms)list-newJ1.ist(IbiTtcms);lutse(VisibleRo¼*<ouni(2);IistsctsetectionMode(1.istsclectionModcISING1.EeSE1.ECTlON);list.add1.iStsdeCtion1.iStCnCr(this);JScrollPancjsp=newJScrollPane(Iist);Md(J喻)publicSiringgelSe!ehemO(returnsekl(emz)publicvoidVaUtChMMlwye)if(e.getSourcc()list)Sclcitcm-list.®.toS¾ring:28 .以下定义的面板子类TimePand有一个文本域,程序每隔I秒在文本城中更新显示当渐时间classTimcPanelextendsJPaneIimplementsRunnablcThreadTimcThrcadnull;JTextFiekJt;TimcPandO(t三newJTeXlFidd(20);add(t);TimcThread=new:TimeThread.sta11();)publicvoidrunQDateIimeNow;wile(trc)timeNow三:t.setTe×(,现在时间:FimeNowjoSidngO;try(_;)catch(Inte11upcedExceptione)五、程序分析般:本大艘共3小题,每小鸵6分,共18分.29 .Ia读以下程序,调写出该程序的输出结果.publicclassTest29$uiicvoidS(M)b,intk)inti.j.Cfix(i=l;i<k;i+)<for(t-b(i.j-iljj>-Ot>bjJ-)b(j+U-bj;+l三t;publicstaticvoidmain(String()ars)inti;inta»16,12,27,11.13,33);$(46);for(i三0;i<a,!ength;i+)Systejn.oul.print(ai+*w);System.ou(.println();30 .阅读以下程序,请写出该程序的输出结果.classTreeStringn;booleani$T;Tree(Stringname,booleant)(n三name;isT三t;)publicvoidPrintTree(SIringstr)Systcm.out.printlnO;Systcm.out.print(str);SyStem.out.prim(wNamg-+n+*);System.out.prim("isTrccf*÷isT);)classPoplarextendsTreepublicbooleani$P;PopMStringn,booleanCbooleanc)(SUPer(n.I);isP=c;publicvoidprinlTrcc(Stringstr)SupenprintTrce(slr);Sysiem.out.prin(ln(NtConi:*÷i$P);)publicclassTest30publicstaticvoid11uin(S(ring()args)TrCetblnewTrccCCabbagc".false);Poplartb2newPOPiar(XPoPlar”,true,true);tb1.printTreeCcabbage:");tOb2.prinlTrceCpoplar:");31 .同谈以下程序.请回答下列问题:<1)程序运行时,在文本域中输入30井回车程序输出什么样的图形?该图形是什么颜色的?<2)包3;谍图形的最小矩形的宽和海分别是多少像素?importjavax.swing,;importjava.awt.;importjava.awt.event.;classMyPanelextendsJPancIimplementsAction1.btenerJTewFiddtext;intwidth,height;intposX,posYtradius;MyPaneIOSet1.ayOUKneWBorder1.ayoutOXtext-newJTextField(IO);add(te×ttBordcr1.ayoutNORTH);MX1.addACtion1.islUneT(IhiS);publicvoidPaintComPOnCm(GraPh把$g)g.setColor(Color.red);g.dra*OvaI(posX.posYvradius2,radius2);publicvoidactionPerfbrmed(Act>onEvcntc)if(e.dSource()text)intr.Intcgcr.par5cInt(tcxt.gctTcxtO);width=this.gctWidlhO;height=this.gctHeighlO;posXwidth/2-GposYheight/2-r;radius=r;repaintO;publicclassTcst31publicstaticvoidmain(Stringargs)(JFramcmyFrame,newJFrame0;myFramc.getContentPaneO-fid<KncwMyPaneIf);myFrame.SCtSiZ¢(200,250);myFrame.set1.oton(100,100);myFrame.setVisib!e(true);六、程序设计JHh本大题共2小题,的小超7分,共14分32 .请编写方法imlessKcyFirst(imDaintkcy),该方法的功能是返回已知整数数组a内第一个小于指定值key的元素的下标.若没有找到小于key的元素,则返回int!essKeyFirs(int(a,intkey)请在答题纸上填写此处应编写的代码33 .类TCSt33构造了2个文本域及2个按钮,如麻苗述33图所示.其中,"Copy”按钮的功能KiW是将文本域Ift中的内容女制到文本域Ift="中,“Clear”按IB的功健是清空两个文本域.一士一注:要求你塘号代码,实现单击两个按扭要题33图完成的事件处理程序.importjawuawt.*;importjava.awt.cvcnt.;importjavajwing.*;publicclassTest33extendsWindowAdapterimplementsAciion1.istenerfJFramef;JButtonbClcar,bCopy;JTcxtFieIdtfs,tft;publicstaticvoidmain(String11args)T<$l331-newTcst33Q;t.goO;publicvoidgo()(fnewJFrameCTeSt33)fset1.a)*out(nuIl);fsctSe(490ISO);tfs=newJTcxtFicM(IS);tft=newJTcxiFieId(IS);bCopynewJButtonCCopy");bClear=newJButtonCCIcare);tfs.sctBounds(20.15,300.40);tftsetBounds(20160300,40);bCopy.setBounds(350.1$»100,40);bC1ear.sctBounds(350,60.100,40);fadd(lfs);fadd(tft);f.add(bCopy);fadd(bClear);bClear.addActk>n1.taener(this);bCopy.addAaiOn1.isIenerahis);f.setVisiblc(tre);publicvoidactionPerfbrmed(ctionEvcnte)请在答照纸上康马此处应编写的代码ion年4月育教rr学考试金B统一今试ga,芹什<-)"b/Ar分,今<Ht11t*O4"7-.*ena冬大翼1。小小.xo分1.AIB1.O&BSX&D7.BKC0K1.A二.M«a.本大只9小22分欢JO分it.Jmc(不(Xa大小写UjmIXIworc以白“MIKIo1.ovctCascUhM11.m<.iMUttttft9It.Jaj.viw(gtkHr*lMTMO-Mfii999f>0C(«9)ttesi9tatt««M'¼9B*£"¥*,ar>M9,5(OMI>*<)m0*X<w>r*uOMsAM*M9MOnWZ>4MO1"E3IWlz©*«*MJMr*««IMia*+£*¥*lBW>UM*<(H,(WWwoj'>a*W.)ivwworv(«)«.»»»>V."WPIMa«)Fa*AU3*»3F9三>3JJ"W(«t)Z'(«t)9'(«t)S(«t)E(«I):I<”(«t>'T”<«t><o>w)jn(«nBWy9V4SNM*S4>NS(4fl)-B*y%M4-4Mtta«»««<«<«t>suy«vM7tiS7!Ss学,ar*二"第u*««M*>B<÷SfX*>三poarMnw*MvaIrMZ创n.<n由一个空OM(2»).HMHMH色的<a».(naat电的小fi*0B*co*.<2»)六.Ivkina.力大牌zz余,am.UJorpM)< W4*F)ttlEW,<(1分I)< *»*»<0*>IfeMraoMC0*ri0*)HttMrMHMMTMOl.P)Il»>t11r;Ut»< *11jrr»>