自考04747Java语言程序设计(1)(16-19)真题试卷_第1页
自考04747Java语言程序设计(1)(16-19)真题试卷_第2页
自考04747Java语言程序设计(1)(16-19)真题试卷_第3页
自考04747Java语言程序设计(1)(16-19)真题试卷_第4页
自考04747Java语言程序设计(1)(16-19)真题试卷_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2016年4月高等教育自学考试《Java语言程序设计(一)》试题课程代码:04747一、单项选择题1.Java程序的运行模式是A.完全编译B.先编译后解释C.完全解释D.先解释后编译2.设x、y、z的初始值分别是1、2、3,则表达式x==0‖x<y&&z>y的值是A.trueB.1C.falseD.03.如果某成员变量在方法中被隐藏,又需要在方法中引用该成员变量,可以利用的关键字是A.thisB.innerC.newD.outer4.设int[][]x={{1,2},{3},{4,5,6}},则x[1].1ength的值是A.0B.1C.2D.35.为了统一管理组件和容器,Java为所有组件类定义的超类A.ContainerB.JContainerC.ComponentD.JComponent6.在列表框中,与双击事件相关的接口是A.ListSelectionListenerB.ItemListenerC.ActionListenerD.AdjustmentListener7.设置Font对象为楷体、粗斜体、10磅大小的代码是A.Font("楷体",BLOD,ITALIC,10)B.Font("楷体",Font.BLOD,Font.ITALIC,10)C.Font("楷体",Font.BLOD+ITALIC,10)D.Font("楷体",Font.BLOD+Font.ITALIC,10)8.以下关于Java线程的说法,正确的是A.新线程一旦被创建,它将自动开始运行B.线程是可以独立运行的程序,有自己的状态和专用数据段C.使用yield()方法可以使线程主动放弃CPUD.线程的优先级用数值表示,数值越小优先级越高9.创建文件对象可能会产生异常,该异常是A.InvalidObjectExceptionB.FileCreateExceptionC.IOExceptionD.FileNotFoundException10.加载纯JavaJDBC驱动程序的方法是A.executeQuery()B.createStatement()C.addJDBCDriver()D.Class.forName()二、填空题11.如果某Java源文件中定义了publicclassTestll,则其文件名应为。12.switch语句包含一系列由case开头的子句和一个可选的由开头的子句。13.设有Double类对象dblObj,则使得dblObj对象的值赋值给double类型变量d的代码是doubled=dblObi.。14.设有Strings="java";,执行语句s=s.concat(s);后,s的内容是。15.在JavaSwing中,滚动面板类的名字是。16.在JavaSwing中,创建菜单项所使用的类是。17.在Java程序中要创建缓冲区图像,需要引入类。18.通常情况下,多线程之间有互斥和两种情况。19.在打开文件对话框中,如果要设置筛选条件,需使用类。20.在Java网络编程中,getHostAddress()用于获取InetAddress对象的。三、简答题21.请写出使用for语句,输出所有既能够被3整除也能够被5整除的三位数的代码。22.什么是类变量?什么是实例变量?类变量有什么特点?23.请写出FlowLayout布局的三种构造方法。24.已知Graphics对象g,获得Graphics2D对象g2d,然后,用线段类创建线段对象line,该线段的起点坐标是(10,10),终点是(70,80)。请写出实现以上要求的Java代码。25.简述用Runnable接口实现多线程的主要工作。26.请写出实现文件随机访问所使用的类的类名,以及该类常用的两种构造方法。四、程序填空题27.方法intmaxnumDigit(intn)的功能是求出十进制整数n各位的最大值。例如,n=12340,该方法的返回值是4。staticintmaxnumDigit(ihtn){intmax=0,d;while(n>0){d=;if(d>max)max=d;n=;}returnmax;}28.某应用程序窗口包含有一个带文字“计数”的按钮,以及一个标签label。单击按钮,标签中显示按钮被单击的次数。以下是其中处理“计数”按钮事件的方法。publicvoidactionPerformed(ActionEvente){if(e.getActionCommand().){intn=Integer,parseInt();n++;label.setText(""+n);}}29.某小应用程序中,当鼠标按下后,在鼠标当前位置显示其坐标值。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassTest29extendsAppletimplementsMouseListener{privateStringposition="";privateintx,y;publicvoidinit(){;}publicvoidpaint(Graphicsg){g.drawString(position,x,y);publicvoid.(MouseEvente){x=e.getX();y=e.getY();position--"("+x+","+y+")";repaint();}publicvoidmouseClicked(MouseEvente){}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmouseReleased(MouseEvente){}}30.某小应用程序在加载时自动播放音频文件onestop.mid,该音频文件与小程序放在相同目录中。其中clip为一个音频对象。importjava.applet.*;importjava.awt.*;publicclassTest30extendsApplet{clip;publicvoidinit(){clip=getAudioClip(,"onestop.mid");clip.play();}publicvoidstop()clip.stop();}}31.方法connectByJdbc()可以实现与数据库的连接,如果连接成功,该方法返回连接对象,否则返回空。publicstaticConnectionconnectByJdbc(Stringurl,Stringuser,Stringpwd){con=null;......//加载数据库驱动程序try{con=DriverManager.(url,user,pwd);}catch(SQLExceptione){e.pfintStackTrace();remmnull;}returncon;}五、程序分析题32.阅读下列程序,请写出该程序的输出结果。interfaceCountable{intgetVal();}classRimplementsCountable{intval;R0{val=0;}publicintgetVal(){val++;returnval;}}classTest32{publicstaticvoidmain(Srtingargs[]){Rr=newR();for(inti=0;i<2;i++){System.out.println("R:"+r.getVal());}}}33.阅读下列程序,请写出该程序的输出结果。publicclassTest33{publicstaticvoidmain(String[]args){Strings="Iamalsoastring.";inti=0,j=0;do{j=s.indexOf("a",i);System.out.println(j);i=j+1;while(j!=-1);}}34.阅读下列程序,请写出该程序的功能。importjava.applet.*;importjava.awt.*;importjava.awt,event.*;importjavax.swing.*;publicclassTest34extendsAppletimplementsActionListener,ItemListener{JComboBoxcomboBox;StringcolName[]={"蓝色","浅蓝色","绿色","红色","黄色"};Colorcols[]={Color.blue,Color,cyan,Color,green,Color,red,Color,yellow};intt;publicvoidinit(){comboBox=newJComboBox(colName);comboBox.addActionListener(this);comboBox.addltemListener(this);comboBox.setEditable(false);add(comboBox);this.setVisible(true);}publicvoidactionPerformed(ActionEvente){}publicvoiditemStateChanged(ItemEvente){t=comboBox.getSelectedlndex();repaint();}publicvoidpaint(Graphicsg){g.setColor(cols[t]);g.fillRect(15,30,20,20);}}35.阅读下列程序,请写出该程序的功能。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassTest35extendsJFrame{privateDrawLinesPaneldrawLinesPanel=newDrawLinesPanel(100);Test35(){"add(drawLinesPanel);drawLinesPanel.setFocusable(tme);setSize(300,200);setVisible(true);}publicstaticvoidmain(String[]args){newTest35();}}classDrawLinesPanelextendsJPanelimplementsKeyListener{intMaxMarks,markCount;intxMarks[],yMarks[];intx=0,y=0,centerX,centerY;publicDrawLinesPanel(intm){MaxMarks=m;markCount=0;xMarks=newint[MaxMarks];yMarks=newint[MaxMarks];centerX=150;centerY=100;addPoint(x,y);addKeyListener(this);}publicvoidkeyPressed(KeyEvente){switch(e,getKeyCode()){caseKeyEvent.VK_UP:y-=10;addPoint(x,y);break;caseKeyEvent.VK_DOWN:y+=10;addPoint(x,y);break;caseKeyEvent.VK_LEFT:x-=10;addPoint(x,y);break;caseKeyEvent.VK_RIGHT:x+=10;addPoint(x,y);break;}repaint();}privatevoidaddPoint(intx,inty){if(markCount==MaxMarks)return;xMarks[markCount]=x+centerX;yMarks[markCount]=y+centerY;markCount++;}publicvoidkeyTyped(KeyEvente){}publicvoidkeyReleased(KeyEvente){}protectedvoidpaintComponent(Graphicsg){super,paintComponent(g);g.setColor(Color,blue);for(inti=0;i<markCount-1;i++)g.drawLine(xMarks[i],yMarks[i],xMarks[i+1],yMarks[i+1]);}}36.阅读下列程序,请写出该程序的功能。importjava.util.*;classRunnerimplementsRunnable{Stringname;publicRunner(Stringname){=name;}publicvoidrun(){for(inti=l;i<=10;i++){Datenow=newDate();try{Thread.sleep(1000);}catch(InterruptedExceptione){}System.out.println(name+"的时间是"+now.toString());}}}publicclassTest36{publicstaticvoidmain(Stringargs[]){Runnerr1=newRunner("线程A");Threadt1=newThread(r1);t1.start();Runnerr2=newRunner("线程B");Threadt2=newThread(r2);t2.start();Runnerr3=newRunner("线程C");Threadt3=newThread(r3);t3.start();System.out.pfintln("结束运行");}}六、程序设计题37.请编写方法booleanisDuplicated(int[]a),该方法判断数组a[]中是否存在相同的元素(例如,数组{1,2,1,3}中具有相同的元素,而数组{1,2,3,4}中各元素都不相同),如果存在相同的元素则返回真值,否则返回假值。publicstaticbooleanisDuplicated(int[]a){}38.以下小应用程序的界面有一个显示“计算”的按钮calc,以及一个文本框result。当该按钮被按下时,弹出一个对话框,要求输入一个整数,返回后在文本框中显示该整数的平方值。例如,当输入8时,在文本框中显示“8的平方是64'’。注:这里是给定程序的部分代码,你要编写的是actionPerformed(ActionEvente)方法。importjava.awt.event.*;importjava.applet.*;importjavax.swing.*;publicclassTest38extendsAppletimplementsAcfionListener{JButtoncalc;JTextFieldresult;publicvoidinit(){calc=newJButton("计算");result=newJTextField(10);add(calc);add(result);calc.addActionListener(this);}publicvoidactionPerformed(ActionEvente){//请在以下位置编写代码

2016年10月高等教育自学考试《Java语言程序设计(一)》试题课程代码:04747一、单项选择题1.在下述字符串中,不是Java语言关键字的是(C)A.intB.staticC.javaD.try2.要作下列数据类型转换,需进行强制类型转换才能实现的是(A)A.从int到charB.从int到longC.从float到doubleD.从byte到int3.在以下供选择的概念中,属于面向对象语言重要概念或机制的是(D)A.方法B.模块C.线程D.继承4.在下述Java程序代码中,能正确创建数组的是(D)A.intmyA[5]={1,2,3,4,5};B.intmyA[]=newiht(5);C.intmyA[];myA[]=newint[5];D.int[]myA={1,2,3,4,5,6};5.某Java程序的类A需要利用Swing创建无边框窗口,则A需要继承的类是(A)A.JWindowB.JAppletC.JFrameD.JDialog6.在以下供选的鼠标事件中,MouseMotionListener接口能处理的是(B)A.按下鼠标键B.拖动鼠标C.鼠标进入D.鼠标松开7.在以下代码中,能正确创建Font对象的是(C)A.newFont("宋体",斜体,20);B.newFont("楷体",20,正常);C.newFont("楷体",Font.BOLD.18);D.newFont("楷体",18,Font.BOLD);8.某线程正处于运行状态,则在以下选项中,不可能是它的后继状态的是(B)A.就绪状态B.新建状态C.阻塞状态D.死亡状态9.某Java程序用类JFileChooser来实现打开和保存文件对话框。当对话框的返回值是JFileChooser.APPROVEOPTION时,程序进一步的工作是(D)A.用方法getName()取得文件名称B.用方法getPath()取得文件路径C.用方法getFile()取得文件内容D.用方法getSelectedFile()取得文件对象10.Java语言实现C/S模式时,需要使用网络套接字,套接字的内容包括(A)A.IP地址+端口号B.IP地址+监控线程名C.监控线程名+端口号D.IP地址+监控线程名+端口号二、填空题11.一个Java小应用程序必须定义成一个子类,它的超类是Applet。12.在Java语言中,左移运算符是<<。13.类A的成员变量x的类型是类B的,则类A和类B之间的关系是has-a。14.以下代码:StringTokenizerpas=newStringTokenizer("publicstaticvoid,main",",");System.out.println("有单词"+pas.countTokens()+"个");的输出结果是有单词4个。15.在JFrame子类的构造方法中,代码getContentPane()的作用是获得JFrame子类对象的内容面板。16.用JScrollBar创建一个垂直滚动条对象时,需要指定的常量是JScrollBar.VERTICAL。17.在异或模式下绘图时,实际绘制的颜色是由3种颜色作特定的运算确定的:当前正要绘制的颜色、原先绘制的颜色以及模式设定的颜色。18.处于运行状态的线程执行yield()方法,该线程将进入就绪状态。19.在Java语言中,客户端使用的套接字类是Socket。20.在Java语言中,DriverManager类的作用是加载驱动程序和建立与新数据库的连接。三、简答题21.已知整形变量n,当n的值为0时,输出“正常”,否则输出“异常”。请写出使用switch语句实现此功能的代码。答:switch(n){case0:System.out.println("正常");break;default:System.out.println("异常");}22.请写出在类、方法、变量之前加上修饰字final的作用。答:用final修饰类,声明该类是不能被再继承的类。用final修饰方法,声明该方法不能被子类的方法覆盖。用final修饰变量,声明该变量的值不能被改变。23.请列举出能产生ActionEvent事件类型的3种组件。答:JButton、JCheckBox、JComboBox、JMenultem、JRadioButton24.某程序用以下代码弹出一个对话框:intanwser=JOptionPane.showConfirmDialog(null,"确实要退出吗?","退出确认")",OptionPane.YES_NO_CANCEL_OPTION);如果程序中anwser的值等于CLOSEDOPTION,请写出用户对该对话框的操作内容。答:用户直接关闭对话窗口25.请写出用矩形类Rectangle2D创建对象r的代码,对象r的左上角坐标是(20,30),宽是50,高是70。答:Rectangle2Dr=newRectangle2D.Double(20,30,50,70);26.URL对象的格式是:<METHOD>://<HOSTNAME:PORT>/<PATH>/<FILE>,请写出其中HOSTNAME的意义。答:HOSTNAME是文档和服务器所在的Internet主机名或IP地址。四、程序填空题27.方法voidmoveZeroFront(inta[])的功能是将数组中的所有值为0的元素都移到数组的前端,而把非0元素放于所有0的后面。提示:顺序考察数组元素,当发现是非0时,就让该数留在原来位置,当发现是0时,就与前面的第一个非0数交换。变量zero表示移动过程中遇到的0的个数。voidmoveZeroFront(inta[]){for(inti=0,zero=0;i<a.length;i++)if(a[i]--0){a[i]=a[zero];a[zero]=0;zero++;}28.这里给出的是一个播放幻灯片小应用程序的部分代码。设幻灯片已由小应用程序的init()方法装入内存,并存放于mylmage数组中。currentlmage为要显示的幻灯片序号。intcurrentlmage;Image[]myImage;……publicvoidpaint(Graphicsg){if((mylmage[currentlmage])!=null)g.drawlmage(mylmage[currentlmage],10,10,mylmage[currentlmage].getWidth(this),mylmage[currentlmage].getHeight(this),this);}29.类ShareData用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增加data。由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,还应通知其它等待进入这个方法的线程。classShareData{intdata=0;synchronizedvoidmodiData(intdelta){if(delta+delta>=0){data+=delta;}else{while(data+delta<0){try{wait();}catch(IntermptedExceptione){}}data+=delta;}notify();}ShareData(intinitData){data=initData;}}30.方法voidsumByLine(Stringf)的功能是为已知文件f创建缓冲式输人流,然后从文件逐行输入整数,求各行整数的和,并输出。publicvoidsumByLine(Stringf){FileReaderfile=newFileReader(f);BufferedReaderin=newBufferedReader.(file);intn,sum,i;Strings;try{while((s=in.readLine().)!=null){StringTokenizertokens=newStringTokenizer(s);n=tokens.countTokens0;sum=0;for(i=0;i<n;i++){sum+=Integer.parseInt(tokens.nextToken0);}System.out.println("\t"+String.valueOf(sum)+"\n");}in.close();}catch(IOExceptionie){System.out.println("\tI/O出错!");}}31.方法readByURL(StringurlName,JTextAreashowArea)的功能是通过已知网址创建URL对象,获得URLConnection对象,设置网络连接,然后以数据流方式读取网页内容,并在文本区showArea中显示。publicStringreadByURL(StringurlName,JTextAreashowArea){try{URLurl=newURL(urlName);URLConnectiontc=url.openConnection();tc.connect();/*以下省略的代码完成的工作是:用tc获得网络连接的InputStreamReadef类对象,并将该对象转化成为缓冲式输入对象。以后,就能按行读取网络文本数据。*/……}catch(MalformedURLExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}}五、程序分析题32.阅读下列程序,请写出该程序的运行结果。classSuperClass{publicintgetData0{return4;})classSubClassextendsSuperClass{publicintgetData0{return5;}}publicclassTest32{publicstaticintfac(SuperClasss){intd=s.getData0;returnd*(d+l)/2;}publicstaticvoidmain(String[]args){System.out.println("超类对象调用方法fac():"+fac(newSuperClass()));System.out.println("子类对象调用方法fac():"+fac(newSubClass()));}}答:超类对象调用方法fac():10子类对象调用方法fac():1533.阅读下列程序,请写出该程序的运行结果。publicclassTest33{publicstaticvoidmain(Stringargs[]){System.out.println(makeNewString("bjZ;"));}publicstaticStringmakeNewString(StringoldStr){Strings=newString(oldStr);char[]repCh={'a','b','c','d','e',T,'g','h','i','j','k',T,'m','n','o','p','q',~,'s','t','u','v','w','x','y','z'};s=s.replace(repCh[repCh,length-1],'%');for(inti=repCh.length-2;i>=0;i--){s=s.replace(repCh[i],repCh[i+1]);}s=s.replace('%',repCh[0]);returns;}}答:ckZ;(每个字符1分)。34.阅读下列程序,请回答以下问题:(1)在文本框中输入-18,在文本区中会显示多少行整数,各行有几个数?(2)在文本框中输入0,界面又会发生什么?importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classMyFrameextendsJFrameimplementsActionListener{JTextFieldtextF;JTextAreatextA;MyFrame0{Containercon=getContentPane();con.setLayout(newBorderLayout0);textF=newJTextField(10);textF.addActionListener(this);textA=newJTextArea(6,10);setSize(240,200);con.add(textF,"North");con.add(textA,"Center");setVisible(true);}publicvoidactionPerformed(ActionEvente){intn,d;if(e.getSource()==textF){n=Integer.parseInt(textF.getTextO);if(n!=0){for(intk=1;k<=Math.abs(n);k++){d=Ont)(Math.random0*1000%1000);textA.append(""+d);if(k%5==0)textA.append("\n");}}else{textF.setText(null);textA.setText(null);}}}}publicclassTest34{publicstaticvoidmain(String[]args){newMyFrame();}}答:(1)在文本区中会显示3行整数,前2行各7个数,第3行4个数。(2)文本框和文本区的内容被清除。35.阅读下列程序,请回答以下问题:(1)应用程序窗口中,有哪几个组件?(2)当拖动滚动条滑块时,界面会有什么变化?importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classMyFrameextendsJFrameimplementsAdjustmentListener{JScrollBaris;JLabellabel;intsize=20;Stringmsg;MyFrame(Strings,intx,inty,intw,inth){super(s);msg=s;Containercon=getContentPaneO;con.setLayout(newBorderLayout0);js=newJScrollBar(JScrollBar.HORIZONTAL,20,10,1,210);js.addAdjustmentListener(this);con.add(is,BorderLayout.NORTH);label=newJLabel(msg);con.add(label,BorderLayout.CENTER);setBounds(x,y,w,h);setVisible(true);}publicvoidadjustmentValueChanged(AdjustmentEvente){size=e.getValue0;Fontf=newFont("Courier",Font.BOLD,size);label.setFont(f);}}publicclassTest35{publicstaticvoidmain(String[]args){newMyFrame("可调组件测试程序",200,200,500,200);}}答:(1)应用程序窗口中产生一个水平滚动条,下面是一个标签。(2)当拖动滚动条滑块时,标签里的文字的大小随着滑块的移动而变化。36.阅读下列程序,请回答以下问题:(1)程序是如何实现画面动态显示的?(2)创建DravYPmlel对象时,第3个参数的值增大或减小,对画面的显示有何影响?importjava.awt.*;importjavax.swing.*;publicclassTest36extendsJFrame{publicstaticvoidmain(Stringargs[]){newGraphicsDemo(320,250);}}classDrawPanelextendsJPanelimplementsRunnable{intx,y,w,h,d;DrawPanel(intw,inth,intd){this.w=w;this.h-h;this.d=d;newThread(this).start0;setBackground(Color.white);}publicvoidpaintComponent(Graphicsg){super.paintComponent(g);g.setColor(Color.red);g.fillOval(x+w/2,y+h/2,10,10);publicvoidrun(){intseta-0;doubler;ints=w/2;for(inti=1;i<=500;i++){r=s*Math.sin(2.0*seta/180.0*3.1415926);//r=sin(2seta)x=(int)(r*Math.cos(seta/180.0*3.1415926));y=(int)(r*Math,sin(seta/180.0*3.1415926));repaint();seta=(seta+2)%360;System.out.println(""+i+":"+x+""+y);try{Thread.sleep(d);}catch(InterruptedExceptione){}}classGraphicsDemoextendsJFrame{GraphicsDemo(intw,inth){getContentPane().add(newDrawPanel(w,h,30));setTitle("线程演示");setSize(w+30,h+50);setVisible(true);}}答:(1)JPanel子类DrawPanel实现Runnable接口,用线程实现画面动态显示。(2)第3个参数的值增大,使画面更新变慢;减小,使画面更新变快。六、程序设计题37.请编写方法intcountOddNum(int[]a),该方法的功能是求已知数组a中奇数的个数。要求根据方法的功能写出方法的代码。staticimcountOddNum(int[]a){ints=0,i;for(inti=0;i<a.length;i++)if(a[i]%2==1)s++;returns;}38.类MenuWindow对象构建如下图所示的框架窗口,窗口有一个菜单条,有“学习”和“工作”两个菜单,其中“学习”菜单含“Java程序设计”菜单项;“工作”菜单含“项目设计”菜单项。窗口只有一个文本框,目的是用于显示菜单选择的结果。注:以下是要求你编写的类MenuWindow的构造方法的部分代码。classMenuWindowextendsJFrameimplementsActionListener{publicstaticJTextFieldtext;publicMenuWindow(){//请在以下位置编写代码super("学习和工作之窗");JMenuBarmenubar=newJMenuBar0;JMenumenu1=newJMenu("学习");JMenultemjava=newJMenultem("Java程序设计");menul.add(java);java.addActionListener(this);JMenumenu2=newJMenu("工作");JMenultemproject=newJMenultem("项目设计");menu2.add(project);project.addActionListener(this);menubar,add(menu1);menubar,add(menu2);setJMenuBar(menubar);text=newJTextField(25);getContentPane0.add(text);setVisible(true);setSize(200,150);pack();}}

2017年4月高等教育自学考试《Java语言程序设计(一)》试题课程代码:04747一、单项选择题1.在下列供选的字符串中,不能作为Java整型常量的是A.052B.0x3BEHC.6389D.0x3fedL2.在以下供选的关键字中,能用于定义常值变量的是A.finalB.staticC.protectedD.super3.下列Java语句中,不正确的是A.floate=0.0d;B.charc,d='a';C.int$e,a,b=10;D.doublee=0.0f4.以下代码的输出结果是System.out.println(1+2+"aa"+3);A.12aa3B.3aa3C.12aaD.代码有语法错5.在Swing中,与JComponent类有直接父子关系的是A.JMenuB.JButtonC.JLabelD.JTextArea6.在以下选项中,可得到菜单项名称的方法是A.getMenu()B.getLabel()C.getJMenu()D.getltem()7.某程序定义了一个JPanel子类,并要让该子类实现多线程,在子类对象创建时启动线程,则在以下叙述中最完整正确的是A.继承Thread类,在类内定义run()方法,声明和创建线程对象,并让该对象调用start()方法。B.继承Thread类,在类内定义run()方法,声明线程对象,并让该对象调用start()方法。C.声明实现Runnable接口,在类内实现run()方法,声明线程对象,创建线程,并调用run()方法。D.声明实现Runnable接口,在类内实现run()方法,声明和创建线程对象,并让该对象调用start()方法。8.以下关于线程死锁的叙述中,正确的是A.若程序中存在线程的死锁问题,编译时不能通过B.实现多线程时死锁不可避免C.为了避免死锁,应禁止对资源以互斥的方式进行访问D.线程的死锁是一种逻辑运行错误,编译器无法检测9.用类JFileChooser对象可打开和保存文件对话框,程序能从该对话框获得A.用户选择的文件的长度B.用户选择的文件名C.文件对象D.用户选择的文件内容10.网络应用有多种模式,其中WWW采用的模式是A.对等模式B.主机终端模式C.分布式模式D.客户机/服务器模式二、填空题11.Java编译程序对Test11.java源程序编译,如果没有发生错误,一定会产生一个文件,该文件的名字是。12.表达式“-1>>2”的值是。(负数用补码表示)13.为了声明类只是一种模板,类中定义的某些方法没有具体实现代码,只有它的子类才可能是有实际意义的类。定义这样的类的修饰符是。14.设有字符串定义:Strings="12341234";则表达式s.indexOf("2")的值是。15.在实现接口ActionListener的方法actionPerformed()中,为识别事件对象,调用方法getActionCommand(),该方法返回的文字信息。16.程序将若干单选按钮对象加入到一个ButtonGroup对象中,其目的是。17.AWT的Font对象的作用是。18.处于运行状态的线程执行stop()方法,该线程将进入的状态是。19.FileWriter类的作用是为提供支持。20.在访问数据库的程序中,建立了Statement对象后,利用该对象可以执行数据库更新,实现SQL数据库更新的方法是。三、简答题21.请写出表达式实现以下功能:变量y的值为5与变量z的值为3,有且只有—个成立。22.请写出通过继承,子类可以获得的好处。23.请写出将按钮对象b和文本区对象text放置于面板对象中,并将中放置于滚动面板,最后将滚动面板添加到JFrame子窗口对象frame的Java语句。24.请写出Graphics2D类中stroke、paint两种属性的作用。25.请写出Java系统提供的支持文件随机访问的类和该类提供的读取一个字符的方法。26.请写出URLConnection类实现网络访问的基本过程。四、程序填空题27.方法countPrimes(intm,intn)统计自m至n范围内质数的个数,并输出这些质数。publicstaticintcountPrimes(intm,intn){inti,j,count=0;for(j=m;j<=n;j++){for(i=2;i<-j/2;i++)if()break;if(){count++;System.out.println(j);}}returncount;}28.以下是某应用程序定义的两个方法。方法setCheckBoxs(ItemListenerlistener)已知监视器,产生一组选择按钮,并给它们注册监视器和将它们加入到面板中;方法使用的全局对象有面板panel,存放按钮名称的数组boxName,选择按钮数组box,文本区text。方法itemStateChanged(1temEvente)是选择按钮的事件监视方法,当某个选择按钮的选择状态有改变时,监视方法在文本区中显示各选择按钮的选择状态(被选中或没有被选中)。JPanelpanel=newJPanel();StringboxName[]={"选择按钮A","选择按钮B","选择按钮C"};JCheckBox[]box=newJCheckBox[boxName.length];JTextAreatext=newJTextArea(4,10);publicvoidsetCheckBoxs(ItemListenerlistener){for(inti=0;i<boxName.length;i++){box[i]=newJCheckBox(boxName[i],false);box[i].;panel.add(box[i]);}}publicvoiditemStateChanged(ItemEvente){text.setText(null);for(inti=0;i<box.length;i++){text.append(boxName[i]+(?"被选中":"没有被选中")+''\n");}}}29.以下是一个放幻灯片的应用程序,程序的界面中含一个面板子类P的对象和一个按钮对象b。设幻灯片已经装入内存,并存放于myImage数组中,幻灯片的张数存于变量num中。程序运行时,用户点击按钮b,按钮的监视方法循环更换幻灯片号curlmage,并让系统调用P重定义的paintComponent()方法显示当前幻灯片。intcurlmage=0;finalintnum=30;Image[]myImage=newImage[num];……publicvoidactionPerformed(ActionEvente){if(e.getSource0==b){;curlmage=(curlmage+1)%num;try{mythread.sleep(200);}catch(InterruptedExceptione){}}}publicvoidpaintComponent(Graphicsg){if((mylmage[curlmage])!=null)g,(myImage[curlmage],10,10,myImage[curlmage].getWidth0,myImage[curImage].getHeight0,this);}30.以下应用程序的界面中有一个用于输入文件名的文本框对象fileName、一个用于输入匹配字符串的文本框对象p,和一个用于输出的文本区对象text。程序运行时,用户输入匹配字符串和文件名,程序逐行读人文件的内容,检出那些以匹配字符串开头的行并显示在文本区中。publicvoidactionPerformed(ActionEvente){Strings;if(e.getSource()==fileName){try{in=newBufferedReader(new);}catch(FileNotFoundExceptione1){System.out.print("FileNotfound!ha");}text.setText(null);try{while((s=)!=null){if(s.startsWith(p.getText0))text.append(s+'\n');}}catch(IOExceptionexp){System.out.print("Filereaderror!ha");}}}31.方法getURLConnection(Strings)的功能是已知网络中的资源s,获得一个URLConnection对象并返回。URLConnectiongetURLConnection(Strings){URLmyURL=null;try{myURL=new}catch(MalformedURLExceptione){System.out.println("有错的URL:"+s+e);}returnmyURL.}五、程序分析题32.阅读下列程序段,请写出标有注解(1)、(2)和(3)语句的作用。Imageimg[];publicvoidint(){img=newImage[15];for(inti=0;i<lS;i++){img[i]=getImage(getCodeBase0,"img"+i+".jpg");//(1)}}publicvoidpaint(Graphicsg){inti=0,k=0;while(k<15000){......;//语句略g.drawlmage(img[i],0,0,this);//(2)k++;for(intj=0;j<5000000;j++){}//(3)i=(i+1)%img.length;}}33.阅读下列程序,请写出调用fib(10)的输出结果。publicstaticvoidfib(intn)(intfl=1,f2=1;System.out.print("\t"+fl+"\t"+f2);for(inti=3;i<=n;i+=2)(f1+=f2;System.out.print("\t"+f1);if(i%3==0)System.out.print("\n");if(i<n)(f2+=f1;System.out.print("\t"+f2);}if((i+1)%3==0)System.out.print("\n");}}34.阅读下列程序,请回答以下问题:(1)写出程序运行时界面中有哪些组件,以及它们的位置关系。(2)按点击按钮1,按钮2,按钮2,按钮1的顺序点击按钮,写出文本区的输出内容。importjava.io.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classMyFrameextendsJFrameimplementsActionListener{JButtonbtn1,btn2;JTextAreaja;publicMyFrame0{btn1=newJButton("按钮1");btn2=newJButton("按钮2");ja=newJTextArea(5,10);getContentPane0.add(btn1,BorderLayout.NORTH);getContentPane().add(btn2,BorderLayout.SOUTH);getContentPane0.add(ja,BorderLayout.CENTER);btn1.addActionListener(this);btn2.addActionListener(this);setSize(180,200);setVisible(true);}publicvoidactionPerformed(ActionEvente){if(e.getSource0==bm1){btn1.setEnabled(false);ja.append("按钮1被点击!\n");btn2.setEnabled(true);}else{bmI.setEnabled(true);ja.append("按钮2被点击!\n');btn2.setEnabled(false);}}}publicclassTest34{publicstaticvoidmain(String[]args){newMyFrame0;}}35.阅读下列程序,请写出该程序的输出结果。publicclassTest35{publicstaticvoidmain(String[]args){System.out.println("开始:");MyThreadx=newMyThread(1000,"girl");MyThready=newMyThread(300,"boy");x.start();y.start();while(x.isAlive0{{y.isAlive0);System.out.println("结束.");}}classMyThreadextendsThread{intdt;Stringname;publicMyThread(intc,Stringn){dt=c;name=n;}publicvoidrun(){MyResourceClass.outMsg(this);}classMyResourceClass{synchronizedstaticvoidoutMsg(MyThreadth){System.out.println(+""+"启动.");for(inti=0;i<2;i++){System.out.println(+"第"+i+"次活动.");try{Thread.sleep(th.dt);}catch(InterruptedExceptione){})System.out.println(+""+"活动完成.");}}36.阅读下列程序,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论