武汉工程大学2019-2020学年第一学期2018级软件工程专业《Java语言程序设计》期末考试_第1页
武汉工程大学2019-2020学年第一学期2018级软件工程专业《Java语言程序设计》期末考试_第2页
武汉工程大学2019-2020学年第一学期2018级软件工程专业《Java语言程序设计》期末考试_第3页
武汉工程大学2019-2020学年第一学期2018级软件工程专业《Java语言程序设计》期末考试_第4页
武汉工程大学2019-2020学年第一学期2018级软件工程专业《Java语言程序设计》期末考试_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

武汉工程大学2019-2020学年第一学期2018级软件工程专业《Java语言程序设计》期末考试试题姓名:_________年级:_______级专业:_________学号:___________一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.在编写Javaapplet程序时,若需要对发生事件作出响应和处理,一般需要在程序的开头写上的语句是()(1分)A:importjava.awt.*;B:importjava.applet.*;C:importjava.io.*;D:importjava.awt.event.*;2.Java语言约定,显示屏上一个长方形区域为程序绘图区域,坐标原点(0,0)位于整个区域的()(1分)A:中心B:左上角C:右上角D:自由设定3.在Java程序中定义一个类,类中有一个没有访问权限修饰的方法,则此方法()(1分)A:访问权限默认为是publicB:访问权限默认为是privateC:访问权限默认为是protectedD:以上都不是4.在Java中,能实现多重继承效果的方式是()(1分)A:内部类B:适配器C:接口D:同步5.在Java语言中,密码框组件和设置密码框的回显字符为“*”的方法分别是()(1分)A:JPassWordField和setEchoChar(?*?)B:JPasswordField和setEchoChar(?*?)C:JPassWordField和setEchochar(?*?)D:JPasswordField和setEchochar(?*?)6.使用数据库的SQL命令实现数据库的更新,应利用Statement对象的方法()(1分)A:update()B:insert()C:executeUpdate()D:delete()7.以下程序代码的输出结果是()shorti=10,j,k=20;j=k+i++;System.out.print(j);(1分)A:30B:31C:出错D:118.在Java语言中,移去按钮对象监视器的方法是()(1分)A:removeListener(ActionListenere)B:setRemoveEnable(ActionListenere)C:removeActionListener(ActionListenere)D:addActionListener(ActionListenere)9.下列有关事件监视器的说法正确的是()(1分)A:一个组件上不可以注册多个事件监视器B:一个事件监视器可以被注册到多个组件上C:一个组件上注册多个事件监视器会发生冲突,不会起作用D:一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用10.菜单的事件源是用鼠标点击某个菜单项,ActionListener,要实现的接口方法是actionPerformed(ActionEvente),获得事件源的方法是getSource(),处理该事件的接口是()(1分)A:ActionListenerB:actionPerformedC:getSourceD:ItemListener二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。1.当把Java的绘图模式设置为异或模式红色,并对同一个圆用同一个颜色绿色绘制两遍时,则此圆的绘制情况是:。(2分)2.流使用结束后,关闭流并且释放与该流相关的资源,用方法。(2分)3.是一种特殊的方法,这种方法的名字与它的类名相同,并且不返回结果,也不写上void关键字。(2分)4.Java语言提供一个Graphics2D类,这个类定义了几种方法用于添加或改变图形的状态属性,其中属性控制线条的宽度、笔形样式、线段连接方式或短划线图案。(2分)5.在已有类的基础上,扩充属性或扩充与改写某些方法,生成新的类,这个方式称为。(2分)6.在Java语言,使用关键字定义临界段,能对共享对象的操作上锁。(2分)7.在Java程序中,如果有package语句,则此语句必须出现在源程序文件的。(2分)8.采用布局的容器中多个组件拥有同一个显示空间,某一时刻只能显示一个组件。(2分)9.在Java语言中,逻辑右移运算符是。(2分)10.在Java语言中,有了SQL语句对象sql后,根据“读取学生成绩表st中的所有记录并存于rs对象中”,定义rs对象的代码是。(2分)三、程序填空题(本大题共5小题,每空2分,共20分)1.以下程序使字符串“文字的特殊输出效果演示”中的所有文字每隔300毫秒显示一个。publicclassClass3101{publicstaticvoidmain(String[]args){Strings="文字的特殊输出效果演示";for(inti=0;i{System.out.print(s.substring(i,i+1));try{;}catch(){}}}}(2分)2.下面小应用程序通过快速显示一组图片(1.jpg~9.jpg)造成显示动画的效果。importjava.awt.*;importjava.applet.*;publicclassClass3002extendsAppletimplementsRunnable{finalintnumber=9;intcount=1;Image[]pic=newImage[number];ThreadmyThread;publicvoidinit(){setSize(300,200);for(inti=1;i<=number;i++)pic[i-1]=;}publicvoidstart(){myThread=newThread(this);myThread.start();}publicvoidstop(){myThread=null;}publicvoidrun(){while(true){repaint();count=(count+1)%number;try{myThread.sleep(1000);}catch(InterruptedExceptione){}}}publicvoidpaint(Graphicsg){if(pic[count]!=null)g.(pic[count],10,10,200,200,this);}}(2分)3.下面的程序在屏幕上显示一个红色窗口,窗口的左上角坐标为(100,200),宽为300像素,高为400像素。importjava.awt.*;importjavax.swing.*;publicclassClass2803{publicstaticvoidmain(String[]args){JFramemyWin=newJFrame("Class2803");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时,整个应用程序关闭。若省略,关闭窗口时程序不终止,相当于setVisible(false)myWin.;Containercon=myWin.getContentPane();con.setBackground(Color.red);myWin.;}}(2分)4.程序运行结果如下图:上边,左边和右边是三个按钮,下边是一个内容为“Class2804”的文本框txt。importjava.awt.*;importjavax.swing.*;publicclassClass2804{publicstaticvoidmain(String[]args){JFramemyWin=newJFrame("Class2804");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myWin.setBounds(100,200,300,200);Containercon=myWin.getContentPane();con.setBackground(Color.red);con.setLayout(newBorderLayout());JButtonbutton1=newJButton("左边");JButtonbutton2=newJButton("右边");JButtonbutton3=newJButton("上边");con.add(button1,"West");con.add(button2,"East");con.add(button3,"North");myWin.setVisible(true);}}(2分)5.下面程序运行后显示一个窗口,在窗口中有一个按钮和一个标签,单击按钮,标签中显示按钮被单击的次数,请完成程序。importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classmyFrameextendsJFrameimplementsActionListener{JButtonbutton;JLabellabel;myFrame(Strings){super(s);Containercon=;setLayout(newFlowLayout());setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(300,400);button=newJButton("OK");label=newJLabel("0");con.add(button);con.add(label);button.addActionListener(this);setVisible(true);}publicvoidactionPerformed(ActionEvente){intn=;n++;label.setText(""+n);}}publicclassC2801{publicstaticvoidmain(String[]args){newmyFrame("我的窗口");}}(2分)四、程序分析题(本大题共5小题,每小题4分,共20分)1.阅读下列程序,画出程序运行后初始界面并写出程序功能。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassClass3603extendsAppletimplementsActionListener{AudioClipclip;ButtonbuttonPlay,buttonLoop,buttonStop;publicvoidinit(){clip=getAudioClip(getCodeBase(),"windowsXP关机.wav");buttonPlay=newButton("start");buttonLoop=newButton("loop");buttonStop=newButton("stop");buttonPlay.addActionListener(this);buttonStop.addActionListener(this);buttonLoop.addActionListener(this);setSize(300,100);add(buttonPlay);add(buttonLoop);add(buttonStop);}publicvoidstop(){clip.stop();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==buttonPlay){clip.play();}elseif(e.getSource()==buttonLoop){clip.loop();}if(e.getSource()==buttonStop){clip.stop();}}}(4分)2.阅读下列程序,写出程序功能。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassC3601extendsAppletimplementsActionListener{AudioClipclip;ButtonbuttonPlay,buttonLoop,buttonStop;publicvoidinit(){clip=getAudioClip(getCodeBase(),"1.wav");buttonPlay=newButton("start");buttonLoop=newButton("loop");buttonStop=newButton("stop");buttonPlay.addActionListener(this);buttonStop.addActionListener(this);buttonLoop.addActionListener(this);setSize(300,100);add(buttonPlay);add(buttonLoop);add(buttonStop);}publicvoidstop(){clip.stop();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==buttonPlay){clip.play();}elseif(e.getSource()==buttonLoop){clip.loop();}if(e.getSource()==buttonStop){clip.stop();}}}(4分)3.阅读下列程序,写出程序运行结果。publicclassC3302{publicstaticvoidmain(String[]args){int[][]a={{1,2,3},{4,5,6}};System.out.println(a.length+","+a[0].length+","+a[1][1]);String[]s={"a","b"};f3302(s[0],s[1]);System.out.println(s[0]+","+s[1]);Strings1="abc",s2="123";s1+="xyz";s2.concat("xyz");System.out.println(s1+","+s2);}staticvoidf3302(Stringx,Stringy){Stringz=x;x=y;y=z;}}(4分)4.阅读下列程序,写出程序运行结果。importjava.awt.event.*;importjavax.swing.*;publicclassC3502implementsMouseMotionListener{JTextFieldtext=newJTextField(30);C3502(){JFramemyWin=newJFrame("Ex0611");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myWin.setBounds(100,100,300,100);myWin.getContentPane().add(text,"North");myWin.addMouseMotionListener(this);myWin.setVisible(true);}publicvoidmouseDragged(MouseEvente){intx=e.getX(),y=e.getY();text.setText("拖动鼠标,鼠标坐标为:"+x+","+y);}publicvoidmouseMoved(MouseEvente){intx=e.getX(),y=e.getY();text.setText("移动鼠标,鼠标坐标为:"+x+","+y);}publicstaticvoidmain(String[]args){newC3502();}}(4分)5.阅读下列程序,写出程序功能。importjava.applet.*;importjava.awt.*;publicclassC3602extendsAppletimplementsRunnable{ThreadmyThread=null;publicvoidstart(){setSize(300,200);if(myThread==null)myThread=newThread(this);myThread.start();}publicvoidrun(){while(true){try{myThread.sleep(500);}catch(InterruptedExceptione){}repaint();}}publicvoidpaint(Graphicsg){doublei=Math.random();if(i<0.33)g.setColor(Color.yellow);elseif(i<0.66)g.setColor(Color.red);elseg.setColor(Color.blue);intx=(int)(100*i);g.fillOval(x,x,x,x);}}(4分)五、程序设计题(本大题共2小题,每小题6分,共12分)1.设计一个应用程序窗口如下图所示,单击“加”或“减”按钮,将前两个文本框中的整数相加或相减后放入第三个文本框中。已给出部分代码,请完成程序。importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassClass3801implementsActionListener{JTextFieldtext1,text2,text3;JButtonaddButton,subButton;publicstaticvoidmain(String[]args){newClass3801();}publicClass3801(){text1=newJTextField(10);text2=newJTextField(10);text3=newJTextField(10);addButton=newJButton("加");subButton=newJButton("减");JFramemyWin=newJFrame("Class3801");Containercon=myWin.getContentPane();myWin.setSize(300,80);con.setLayout(newGridLayout(1,5));con.add(text1);con.add(text2);con.add(addButton);con.add(subButton);con.add(text3);addButton.addActionListener(this);subButton.addActionListener(this);myWin.setVisible(true);}publicvoidactionPerformed(ActionEvente){//这里是你要编写的代码}}(6分)2.创建一个有文本框和三个按钮的程序。当按下某个按钮时,使不同的文字("Java","编程","不难学")显示在文本框中。已经给出部分代码,请完成事件处理部分。importjavax.swing.*;importjava.awt.event.*;classMiYa1extendsJPanel{JButtonbutton[]=newJButton[3];JTextFieldtext;MiYa1(){for(inti=0;i<3;i++){button[i]=newJButton("button0"+(i+1));add(button[i]);}text=newJTextField(10);text.setHorizontalAlignment(JTextField.CENTER);add(text);}}publicclassC3801implementsActionListener{JFramemyWin;MiYa1panel;C3801(){panel=newMiYa1();myWin=newJFrame("C3801");myWin.add(panel);myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);for(inti=0;i<3;i++)panel.button[i].addActionListener(this);myWin.pack();myWin.setVisible(true);}publicstaticvoidmain(String[]args){newC3801();}publicvoidactionPerformed(ActionEvente){//这里是你要编写的代码}}(6分)六、简答题(本大题共6小题,每小题3分,共18分)1.请解释drawArc(intx,inty,intw,inth,ints,inta)方法的功能及参数含义。(3分)2.CardLayout布局的容器可容纳多个组件,但是多个组件拥有一个显示空间。如何设置CardLayout布局及显示某一组件?(3分)3.请写出RandomAccessFile类中read(byteb[],ints,intn)方法的功能及参数含义。(3分)4.要求创建一个URL对象url,使得url能够访问资源,请写出一条语句。(3分)5.下列类的定义中有哪些错误?写出错误原因或者进行改正。classC2202{intx;C2202(intx){this.x=x;}C2202(){C2202(10);}intf(){inta=1;x=a;}voidg(){inty;y=a+x;}}(3分)6.编写访问数据库的Java程序需要几个重要的类和接口,请任意写出其中的三个。(3分)武汉工程大学2019-2020学年第一学期2018级软件工程专业《Java语言程序设计》期末考试答案一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1:参考答案:D参考解析:(P87)java.awt是抽象窗口工具包,包含抽象窗口工具集中的图形、文本、窗口GUI类;java.applet包含所有支持Javaapplet的类;java.io包含所有的输入输出类;java.awe.event包含用来检测并对事件做出反应的三个组成元素:源对象、监视器对象和事件对象。试题内容:在编写Javaapplet程序时,若需要对发生事件作出响应和处理,一般需要在程序的开头写上的语句是()A:importjava.awt.*;B:importjava.applet.*;C:importjava.io.*;D:importjava.awt.event.*;2:参考答案:B参考解析:(P137)Java语言约定,显示屏上一个长方形区域为程序绘图区域,坐标原点(0,0)位于整个区域的左上角,一个坐标点(x,y)对应屏幕窗口中的一个像素,必须是整数。试题内容:Java语言约定,显示屏上一个长方形区域为程序绘图区域,坐标原点(0,0)位于整个区域的()A:中心B:左上角C:右上角D:自由设定3:参考答案:D参考解析:(P48)没有修饰的成员变量和方法称为友好变量和友好方法。不同于public、private和protected修饰的成员变量和方法。试题内容:在Java程序中定义一个类,类中有一个没有访问权限修饰的方法,则此方法()A:访问权限默认为是publicB:访问权限默认为是privateC:访问权限默认为是protectedD:以上都不是4:参考答案:C参考解析:(P58)Java程序中的类只能继承一个类,这种继承称为单继承。Java语言虽不允许一个类继承多个类,但允许一个类实现多个接口。这样,对有继承并实现接口的类来说,实际上有了多个超类,实现有控制的多重继承。接口比多继承更强、更容易控制。接口有与类相似的基本形式。接口有常量定和方法,但没有方法的实现代码,即没有方法的方法体。试题内容:在Java中,能实现多重继承效果的方式是()A:内部类B:适配器C:接口D:同步5:参考答案:B参考解析:(P103)类名首字母和每个单词首字母均大写,方法名首字母小写,其余单词首字母大写。试题内容:在Java语言中,密码框组件和设置密码框的回显字符为“*”的方法分别是()A:JPassWordField和setEchoChar(?*?)B:JPasswordField和setEchoChar(?*?)C:JPassWordField和setEchochar(?*?)D:JPasswordField和setEchochar(?*?)6:参考答案:C参考解析:(P206)试题内容:使用数据库的SQL命令实现数据库的更新,应利用Statement对象的方法()A:update()B:insert()C:executeUpdate()D:delete()7:参考答案:C参考解析:(P10)对于使用类型为byte或者short变量的算术表达式,其计算方式与使用int型变量相同都是进行32位算术运算,结果也是32位整数。本题编译器无法把32位整数存储到只有16位长的变量中。试题内容:以下程序代码的输出结果是()shorti=10,j,k=20;j=k+i++;System.out.print(j);A:30B:31C:出错D:118:参考答案:C参考解析:(P92)试题内容:在Java语言中,移去按钮对象监视器的方法是()A:removeListener(ActionListenere)B:setRemoveEnable(ActionListenere)C:removeActionListener(ActionListenere)D:addActionListener(ActionListenere)9:参考答案:B参考解析:(P87)本题考核知识点是监视器注册。如果多个事件监视器被注册到一个组件上,这些事件监视器一般都会起作用,但各个事件的处理顺序不确定。试题内容:下列有关事件监视器的说法正确的是()A:一个组件上不可以注册多个事件监视器B:一个事件监视器可以被注册到多个组件上C:一个组件上注册多个事件监视器会发生冲突,不会起作用D:一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用10:参考答案:A参考解析:(P119)处理该事件的接口是ActionListener,要实现的接口方法是actionPerformed(ActionEvente),获得事件源的方法是getSource()。试题内容:菜单的事件源是用鼠标点击某个菜单项,ActionListener,要实现的接口方法是actionPerformed(ActionEvente),获得事件源的方法是getSource(),处理该事件的接口是()A:ActionListenerB:actionPerformedC:getSourceD:ItemListener二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。1:参考答案:(P140)将被清除试题内容:当把Java的绘图模式设置为异或模式红色,并对同一个圆用同一个颜色绿色绘制两遍时,则此圆的绘制情况是:_____。2:参考答案:(P177)close()试题内容:流使用结束后,关闭流并且释放与该流相关的资源,用_____方法。3:参考答案:(P43)构造方法试题内容:_____是一种特殊的方法,这种方法的名字与它的类名相同,并且不返回结果,也不写上void关键字。4:参考答案:(P145)stroke试题内容:Java语言提供一个Graphics2D类,这个类定义了几种方法用于添加或改变图形的状态属性,其中_____属性控制线条的宽度、笔形样式、线段连接方式或短划线图案。5:参考答案:(P40)继承试题内容:在已有类的基础上,扩充属性或扩充与改写某些方法,生成新的类,这个方式称为_____。6:参考答案:(P167)synchronized试题内容:在Java语言,使用关键字定_____义临界段,能对共享对象的操作上锁。7:参考答案:(P31)起始行或第一行试题内容:在Java程序中,如果有package语句,则此语句必须出现在源程序文件的_____。8:参考答案:(P100)CardLayout试题内容:采用_____布局的容器中多个组件拥有同一个显示空间,某一时刻只能显示一个组件。9:参考答案:(P19)>>>[解析]左移运算符是“<<”:将左运算分量的每一位二进制位向左移动,右边空出的`位用0填充,左端移出位的信息丢失。每左移一位相当于乘2。右移运算符分算术右移运算符“>>”和逻辑右移运算符“>>>”。试题内容:在Java语言中,逻辑右移运算符是_____。10:参考答案:(P202)ResultSetrs=sql.executeQuery("SELECT*FROMst");试题内容:在Java语言中,有了SQL语句对象sql后,根据“读取学生成绩表st中的所有记录并存于rs对象中”,定义rs对象的代码是_____。三、程序填空题(本大题共5小题,每空2分,共20分)1:参考答案:Thread.sleep(300)InterruptedExceptione,试题内容:以下程序使字符串“文字的特殊输出效果演示”中的所有文字每隔300毫秒显示一个。publicclassClass3101{publicstaticvoidmain(String[]args){Strings="文字的特殊输出效果演示";for(inti=0;i{System.out.print(s.substring(i,i+1));try{_____;}catch(_____){}}}}2:参考答案:getImage(getCodeBase(),i+".jpg")drawImage,试题内容:下面小应用程序通过快速显示一组图片(1.jpg~9.jpg)造成显示动画的效果。importjava.awt.*;importjava.applet.*;publicclassClass3002extendsAppletimplementsRunnable{finalintnumber=9;intcount=1;Image[]pic=newImage[number];ThreadmyThread;publicvoidinit(){setSize(300,200);for(inti=1;i<=number;i++)pic[i-1]=_____;}publicvoidstart(){myThread=newThread(this);myThread.start();}publicvoidstop(){myThread=null;}publicvoidrun(){while(true){repaint();count=(count+1)%number;try{myThread.sleep(1000);}catch(InterruptedExceptione){}}}publicvoidpaint(Graphicsg){if(pic[count]!=null)g._____(pic[count],10,10,200,200,this);}}3:参考答案:setBounds(100,200,300,400)setVisible(true),试题内容:下面的程序在屏幕上显示一个红色窗口,窗口的左上角坐标为(100,200),宽为300像素,高为400像素。importjava.awt.*;importjavax.swing.*;publicclassClass2803{publicstaticvoidmain(String[]args){JFramemyWin=newJFrame("Class2803");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时,整个应用程序关闭。若省略,关闭窗口时程序不终止,相当于setVisible(false)myWin._____;Containercon=myWin.getContentPane();con.setBackground(Color.red);myWin._____;}}4:参考答案:JTextFieldtxt=newJTextField("Class2804");con.add(txt,"South");,试题内容:程序运行结果如下图:上边,左边和右边是三个按钮,下边是一个内容为“Class2804”的文本框txt。importjava.awt.*;importjavax.swing.*;publicclassClass2804{publicstaticvoidmain(String[]args){JFramemyWin=newJFrame("Class2804");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myWin.setBounds(100,200,300,200);Containercon=myWin.getContentPane();con.setBackground(Color.red);con.setLayout(newBorderLayout());_____JButtonbutton1=newJButton("左边");JButtonbutton2=newJButton("右边");JButtonbutton3=newJButton("上边");con.add(button1,"West");con.add(button2,"East");con.add(button3,"North");_____myWin.setVisible(true);}}5:参考答案:getContentPane()Integer.parseInt(label.getText()),试题内容:下面程序运行后显示一个窗口,在窗口中有一个按钮和一个标签,单击按钮,标签中显示按钮被单击的次数,请完成程序。importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classmyFrameextendsJFrameimplementsActionListener{JButtonbutton;JLabellabel;myFrame(Strings){super(s);Containercon=_____;setLayout(newFlowLayout());setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(300,400);button=newJButton("OK");label=newJLabel("0");con.add(button);con.add(label);button.addActionListener(this);setVisible(true);}publicvoidactionPerformed(ActionEvente){intn=_____;n++;label.setText(""+n);}}publicclassC2801{publicstaticvoidmain(String[]args){newmyFrame("我的窗口");}}四、程序分析题(本大题共5小题,每小题4分,共20分)1:参考答案:程序运行后初始界面如下:程序功能是:单击start按钮开始播放“windowsXP关机.wav”声音文件一次,单击loop按钮将循环播放“windowsXP关机.wav”,单击stop按钮将停止播放。试题内容:阅读下列程序,画出程序运行后初始界面并写出程序功能。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassClass3603extendsAppletimplementsActionListener{AudioClipclip;ButtonbuttonPlay,buttonLoop,buttonStop;publicvoidinit(){clip=getAudioClip(getCodeBase(),"windowsXP关机.wav");buttonPlay=newButton("start");buttonLoop=newButton("loop");buttonStop=newButton("stop");buttonPlay.addActionListener(this);buttonStop.addActionListener(this);buttonLoop.addActionListener(this);setSize(300,100);add(buttonPlay);add(buttonLoop);add(buttonStop);}publicvoidstop(){clip.stop();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==buttonPlay){clip.play();}elseif(e.getSource()==buttonLoop){clip.loop();}if(e.getSource()==buttonStop){clip.stop();}}}2:参考答案:程序功能是:小应用程序窗口中有三个按钮,单击start按钮开始播放“1.wav”声音文件一次,单击loop按钮将循环播放“1.wav”,单击stop按钮将停止播放。试题内容:阅读下列程序,写出程序功能。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassC3601extendsAppletimplementsActionListener{AudioClipclip;ButtonbuttonPlay,buttonLoop,buttonStop;publicvoidinit(){clip=getAudioClip(getCodeBase(),"1.wav");buttonPlay=newButton("start");buttonLoop=newButton("loop");buttonStop=newButton("stop");buttonPlay.addActionListener(this);buttonStop.addActionListener(this);buttonLoop.addActionListener(this);setSize(300,100);add(buttonPlay);add(buttonLoop);add(buttonStop);}publicvoidstop(){clip.stop();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==buttonPlay){clip.play();}elseif(e.getSource()==buttonLoop){clip.loop();}if(e.getSource()==buttonStop){clip.stop();}}}3:参考答案:运行结果:2,3,5a,babcxyz,123[解析]对于二维数组来说,有两种长度,一种是二维数组的长度,一种是二维数组元素的长度,数组的下标都是从0开始。方法f3302()中的交换只是交换了形参(局部变量)x和y的值,并没有使实参s[0]和s[1]发生交换。+和concat()都能完成字符串的连接。s2.concat("xyz")连接得到的新字符串并没有赋值,它和s2=s2.concat("xyz")是不同的。试题内容:阅读下列程序,写出程序运行结果。publicclassC3302{publicstaticvoidmain(String[]args){int[][]a={{1,2,3},{4,5,6}};System.out.println(a.length+","+a[0].length+","+a[1][1]);String[]s={"a","b"};f3302(s[0],s[1]);System.out.println(s[0]+","+s[1]);Strings1="abc",s2="123";s1+="xyz";s2.concat("xyz");System.out.println(s1+","+s2);}staticvoidf3302(Stringx,Stringy){Stringz=x;x=y;y=z;}}4:参考答案:程序功能:这是一个演示鼠标拖动和移动的程序。界面有一个文本框,当鼠标拖动或移动时,在文本区中输出鼠标是鼠标拖动还是鼠标移动,及鼠标位置坐标。试题内容:阅读下列程序,写出程序运行结果。importjava.awt.event.*;importjavax.swing.*;publicclassC3502implementsMouseMotionListener{JTextFieldtext=newJTextField(30);C3502(){JFramemyWin=newJFrame("Ex0611");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myWin.setBounds(100,100,300,100);myWin.getContentPane().add(text,"North");myWin.addMouseMotionListener(this);myWin.setVisible(true);}publicvoidmouseDragged(MouseEvente){intx=e.getX(),y=e.getY();text.setText("拖动鼠标,鼠标坐标为:"+x+","+y);}publicvoidmouseMoved(MouseEvente){intx=e.getX(),y=e.getY();text.setText("移动鼠标,鼠标坐标为:"+x+","+y);}publicstaticvoidmain(String[]args){newC3502();}}5:参考答案:程序功能:小应用程序在300*200大小的窗口里用随机产生的颜色(黄红蓝)、半径(0~100)和位置(0~100,0~100)每隔0.5秒重新涂一个圆块。试题内容:阅读下列程序,写出程序功能。importjava.applet.*;importjava.awt.*;publicclassC3602extendsAppletimplementsRunnable{ThreadmyThread=null;publicvoidstart(){setSize(300,200);if(myThread==null)myThread=newThread(this);myThread.start();}publicvoidrun(){while(true){try{myThread.sleep(500);}catch(InterruptedExceptione){}repaint();}}publicvoidpaint(Graphicsg){doublei=Math.random();if(i<0.33)g.setColor(Color.yellow);elseif(i<0.66)g.setColor(Color.red);elseg.setColor(Color.blue);intx=(int)(100*i);g.fillOval(x,x,x,x);}}五、程序设计题(本大题共2小题,每小题6分,共12分)1:参考答案:inta=Integer.parseInt(text1.getText());intb=Integer.parseInt(text2.getText());if(e.getSource()==addButton)text3.setText(a+b+"");if(e.getSource()==subButton)text3.setText(a-b+"");试题内容:设计一个应用程序窗口如下图所示,单击“加”或“减”按钮,将前两个文本框中的整数相加或相减后放入第三个文本框中。已给出部分代码,请完成程序。importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassClass3801implementsActionListener{JTextFieldtext1,text2,text3;JButtonaddButton,subButton;publicstaticvoidmain(String[]args){newClass3801();}publicClass3801(){text1=newJTextField(10);text2=newJTextField(10);text3=newJTextField(10);addButton=newJButton("加");subButton=newJButton("减");JFramemyWin=newJFrame("Class3801");Containercon=myWin.getContentPane();myWin.setSize(300,80);con.setLayout(newGridLayout(1,5));con.add(text1);con.add(text2);con.add(addButton);con.add(subButton);con.add(text3);addButton.addActionListener(this);subButton.addActionListener(this);

温馨提示

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

评论

0/150

提交评论