2022年1月自考Java语言程序设计试题及参考答案.docx
-
资源ID:12782588
资源大小:85.17KB
全文页数:27页
- 资源格式: DOCX
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年1月自考Java语言程序设计试题及参考答案.docx
精品学习资源封面欢迎下载精品学习资源作者: PanHongliang仅供个人学习全国 2021 年 1 月自考 Java 语言程序设计 一 试卷课程代码: 04747一、单项挑选题 本大题共 10 小题,每道题1 分,共 10 分欢迎下载精品学习资源在每道题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内;错选、多项或未选均无分;1. 在下述字符串中,不属于 Java 语言关键字的是A float B newC javaD return2. Java 语言中数值数据的类型能自动转换,依据从左到右的转换次序为 A byte int short long float doubleB. byteshort int long float doubleC. byteshort int float long double D short byte int long float double3. 在以下供挑选的概念中,不属于面对对象语言概念的是A 消息B 模块C继承4在下述Java 语言语句中D 多态性,错误的创建数组的方法是A int intArray ; intArray=new int5;B int intArray=new int5;C int intArray =1, 2, 3,4, 5 ; D int intArray5=1, 2, 3,4 5 ;5. 在 Swing 中,它的子类能用来创建框架窗口的类是 A JWindowB JFrameC JDialogD JApplet6. MouseListener 接口不能处理的鼠标大事是A 按下鼠标左键B 点击鼠标右键C鼠标进入D 鼠标移动7. 以下不属于文字字型要素的是A 颜色B 字体C风格D 字号8. 在以下四个供选的整数中,能作为线程最高优先级的整数是A 0B 1C 10D 119 Java 语言可以用javax.swing 包中的类JFileChooser 来实现打开和储存文件对话框;用户通过文件对话框不行能获得的信息是A 文件名称B 文件路径C文件内容D 文件对象欢迎下载精品学习资源10. 在编写拜访数据库的Java 程序时, Connection 对象的作用是 A 用来表示与数据库的连接B 储备查询结果C在指定的连接中处理SQL 语句D 建立新数据库连接二、填空题 本大题共 10 小题,每空 2 分,共 20 分请在每道题的空格中填上正确答案;错填、不填均无分;11. Java 的编译程序先将 Java 源程序翻译成与机器无关的 ;12表达式 ¨ 23&18 的值是;13. 假如类 A 某个成员变量的类型是类B,就类 A 和类 B 之间是关系;14. Java 语言供应了两个用于处理字符串的类,它们是 ;15. 某程序用代码“ JTextFieldtext=new JTextField ();”创建了一个文本框,并对这个文本框注册了监视器,就在监视器处理方法actionPerformedActionEvente中,判定是在这个文本框上发生大事的条件表达式是 ;16. 一个水平滚动条对象的初始值是50,滑块的宽是 10 个像素, 表示的范畴是 0 ,250 ; 创建这样的滚动条对象时,供应的5 个参数依次是;17. 要在 JComponent 子类的组件中绘图,应重写 方法;18. 当线程使用完临界段后,为了使等待的线程复原工作,需要调用的方法是 ;19. 某程序想为一个long 型整数文件构造随机读写对象,支持这个要求的类是;20. 设已知服务器的IP 地址和端口号,要创建一个套接字对象,支持这个要求的类是 ;三、简答题 本大题共 6 小题,每道题 3 分,共 18 分21. 请写出一段 if 语句,判定一个整数n 是否为偶数;假如是偶数,输出“Yes.”;否就 ,输出 “No ”;22. 请写出接口定义的一般形式;23. 请写出 Java 语言编写大事处理程序的两种主要方案;24. 设已经有 Graphics2D 对象 g2d, 请用 Java 语句绘制一个矩形rect,其左上角坐标是 20, 30,宽是 120,高是 30;25. 打开文件对话框时,仍可以设置挑选条件,即指定文件的类型;请写出FileFilter类预设的两个方法;26. 请写出 URLConnection 类供应的三个常用方法;四、程序填空题 本大题共 5 小题,每空 2 分,共 20 分27. 方法 void moveOddForwordint a的功能是将数组中的全部奇数移到全部偶数之前;void moveOddForwordint aforint i=0 , odd=0; i+ if欢迎下载精品学习资源int t=ai ; ai=aodd ; aodd=t ; odd+ ;28. 以下程序创建了一个窗口,然后在窗口内显示Hello , World. ;importjavax.swing.* ; importjava awt* ; public class HelloWorldpublic static void mainStringares TextFrame frame=new TextFrame ; frame.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE; frame.;class TextFrame extends JFrame public TextFrame setTitle HelloWorld ; setSizeWIDTH , HEIGHT ; TextPanel panel=new TextPanel;Container contentPane=getContentPane; contentPaneaddpanel;public static final int WIDTH=300;public static final int HEIGHT= 200;class TextPanel extends JPanel public void paintComponentGraphics g super.;g.drawString Hello , World. , x, y;public int x=100 ; public int y=100 ;29. 以下是子窗口中设置一个菜单条类的定义; 类的构造方法依据指定的窗口名称和菜单表设置菜单条, 菜单和菜单项, 当选中某个菜单项时, 在文本框中显示相应菜单项被选中的信息;class MenuWindow extends JFrame implements ActionListener欢迎下载精品学习资源public static JTextField text ;public MenuWindowString s, String menuList setTitles ;Container con=this.getContentPane ;con.setLayoutnew BorderLayout ; this.setLocation100 ,100; this.setSize300, 100; JMenuBar menubar=new JMenuBar ;forint i=0 ; i<menuList.length ;i+ JMenu menu=new JMenumenuListi0; forintj=1 ; j<menuListi 1ength; j+JMenultem anltem=new JMenultemmenuListij; anltem setActionCommandmenuListij; anltem; menu.addanltem ;menubar;text=new JTextField ; setJMenuBarmenubar; con.addtext, BorderLayout SOUTH ;public void actionPerformedActionEvent e text setTextegetActionCommand+ 菜单项被选中 . ;public class Test29 extends Applet MenuWindow window;String menuList=体育,跑步,打蓝球,打乒乓 , 消遣,唱歌,跳舞 ;public void init window=new MenuWindow体育消遣之窗, menuList ; window.setVisibletrue ;30. 以下是一个用鼠标自由作画的小应用程序;最简洁的方法是依据鼠标所在位置画点,跟随鼠标的移动,不断画圆点,就能实现用鼠标作画;欢迎下载精品学习资源import java awt.* ;import java awt.event.* ;public class Test30 extends java applet Applet implements MouseMotionListener Color color ; int lineSize=2 :int x=-1,y=-l ;public void initsetLocation30 , 20; setSize300, 300; setBackgroundColor.green ; addMouseMotionListenerthis ;public void paintGraphics g ifx.=-1&&y.=-1g.setColorcolor ; g.fillOvalx , y, 1ineSize , lineSize ;public void mouseMovedMouseEvent e public void mouseDraggedMouseEvent ex=e.getX ; y=e getY ;欢迎下载精品学习资源public voidGraphics gpaintg; 欢迎下载精品学习资源31. 以下定义的类ShareData 用于治理多个线程共享数据data;一个线程生成 data,另一个线程使用 data;商定,新生成的 data 只有被另一个线程使用后, 才能生成下一个 data;反之, 一个 data 被使用后,也不能再连续使用;所以,生成和使用data 的线程之间需要互斥和同步;以下是治理上述使用方式的类,类内有要治理的共享数据,以及对共享数据的存操作putData 和取操作 getData;class ShareDataint data ;共享数据boolean newData=false ;有最近新生成data 的标志synchronized int getData while.newDatatry; catchInterruptedExceptipn e System.out.println 因错误,而中断 . ;欢迎下载精品学习资源newData=false ; notify ; return data;synchronized void putDataint n whilenewDatatrywait ;catchInterruptedException e System.out.println 因错误,而中断. ;data=n; ;notify ; return;五、程序分析题 本大题共 5 小题,每道题 4 分,共 20 分 32阅读以下程序,请写出该程序的输出结果;class Parentprivate void method 1 System.out.println Parents method 1 ;public void method2 System.out.println Parents method2 ; method 1 ; class Child extends Parentpublic void method l System.out.println Child s method 1 ; public static void mainString argsParent p= new Child; p.method2 ; 33. 阅读以下程序,请写出该程序的功能;importjava.util.* ; importjavax.swing.* ; public class Test33public static void mainString argsString str=StringJOptionPane showInputDialognull ,请输入信息,输入对话框 ,JOptionPane PLAIN_MESSAGE , null ,null , null ; StringTokenizer pas=new StringTokenizerstr, , ;int n=pas.countTokens ;System.out.println 输入的信息有单词 : +n+个,全部单词如下:; whilepas hasMoreTokens欢迎下载精品学习资源String s=pas.nextToken ; System.out.printlns ;34. 阅读以下程序,请用示意图画出程序运行时出现的界面;importjava.applet.* ; importjava.awt.* ; importjavax.swing.* ; class MyPanel extends JPanelJTextField textl , text2 ; MyPanelStringsl , Strings2textl=new JTextFieIds1 ; text2=new JTextFields2 ;addtext 1; addtext2 ;class MySubPanel extends MyPanelJTextField text ;MySubPanelString sl , String s2, String s3 supers1, s2; text = new JTextFields3 ; addtext;public class Test34public static void mainString argsJFrame mw=new JFrame 一个示意窗口; mw.setSize350, 150;Container con = mw.getContentPane ; con.setLayoutnew BorderLayout ;MyPanel pl=new MyPanel 文本框 l ,文本框2 ;MySubPanel p2=new MySubPanel 文本框 3,文本框 4,文本框 5 ; JTextArea text=new JTextArea 这里是一个文本区;con.addpl , North ; con.addp2, South ; con.addtext, Center ; mw setVisibletrue ;35. 阅读以下程序,请写出该程序的功能;欢迎下载精品学习资源importjava.applet.* : importjava.awt.event.* ; importjavax.swing.* public class Class 1 extends Applet implements KeyListenerJButton button=new JButton 开头 ; JTextArea text=new JTextArea5 ,20 ;public void init button.addKeyListenerthis ; addbutton ;addtext ;public void keyPressedKeyEvent e int t=e.getKeyCode ;ift>=KeyEvent.VK_A&&t<=KeyEvent.VK_Z text.append +chart ;public void keyTypedKeyEvent e public void keyReleasedKeyEvent e36. 阅读以下程序,请写出该程序的功能;import java.applet.* ; import java.awt.* ;public class Test36 extends java.applet.Applet implements RunnableThread myThread = null ;double seta=0.0;public void start setSize500,400;ifmyThread=nullmyThread=new Threadthis; myThread.start ;public void runwhilemyThread.=nulltry myThread.sleep40 ;catchInterruptedException eseta+=3.0; ifseta>=360seta=0 ; repaint ;public void paintGraphics gfinal double pi=3.14159 ; final double r = 100.0 ;欢迎下载精品学习资源int x0=250+intr*Math.cos3.1415926/180.0*seta; int y0=200+intr*Math.sin3.1415926/180.0*seta; g.setColorColor.red ; g.drawOvalx0 , y0 ,10, 10;六、程序设计题 本大题共 2 小题,每道题 6 分,共 1 2 分37. 请编写方法 void strReverseString str,该方法的功能是输出一个新字符串,新字符串字符排列次序与原字符串str 的字符排列次序相反;例如,strReverseABCD 所输出的结果是 DCBA ;请使用字符串与字节数组的相互转换方法进行设计;38. 请设计实现如下用于输入学号和姓名的对话框界面,其中空白格是文本框,用于输入相应的内容;这 里 给 出 的 是 程 序 的 一 部 分 , 你 要 编 写 的 是 类 InputNoNameDialog的 构 造 方 法InputNoNameDialogJFramef, Strings,JTextField t;其中参数f 是对话框的依靠窗口,s是对话框标题, t 是依靠窗口中显示对话框输入内容的文本框;以下是类 InputNoNameDialog的程序框架;class InputNoNameDialog extends JDialog implements ActionListener JLabel title ; JTextField textl , text2, mainText ; JButton done ; InputNoNameDialogJFrame f String s , JTextField tsuperf,s, true; mainText = t ;Container con = getContentPane ; title=new JLabels ;textl=new JTextField10 ;text2=new JTextField10 ;con.setLayoutnew GridLayout3,2;con.setSize200 , 100; setModalfalse ;/请在以下位置续写其余代码public void actionPerformedActionEvent e/输入终止按确定按钮后,将对话框中输入的学号和姓名在它依靠窗口的文本框中显示;mainText.setText 学号: +textl.getText+ 姓名: +text2.getText ; setVisiblefalse ; dispose;全国 2021 年 1 月自考 Java 语言程序设计 一 参考答案课程代码: 04747欢迎下载精品学习资源1. C java2. B byte short int long float double3. B模块4 D int intArray5=1,2, 3, 4 5 ;5. B JFrame6. D鼠标移动7. A颜色8 C 109. C文件内容10. A用来表示与数据库的连接11字节码12 231813. P57Has-a14. StringStringBuffer15. e.getSource=text16. JScrollBar.HORIZONTAL,50,10,0,25017. paintComponet18. Notify19. RandomAccessFile20. Socket21. Ifn%2=0System.out.println“ Yes” ;elsSystem.out.println“ No” ;22 P5923 P8724. Rectangle2D rect=new Rectangle2D.Double20,30,120,30 G2d.drawrect;25. acceptgetDescription26. getOutputStream getInputStream connect27. 方法 voidmoveOddForwordinta的功能是将数组中的全部奇数移到全部偶数之前;void moveOddForwordint aforint i=0, odd=0 ; i+i<a.length ifai%2= =0int t=ai; ai=aodd;aodd=t; odd+;欢迎下载精品学习资源28. 以下程序创建了一个窗口,然后在窗口内显示Hello ,World. ;importjavax.swing.*; importjavaawt* ;public class HelloWorldpublic static void mainStringares TextFrame frame=new TextFrame;frame.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;欢迎下载精品学习资源frame. ;setVisabletrue欢迎下载精品学习资源class TextFrame extends JFrame public TextFrame setTitle HelloWorld ; setSizeWIDTH , HEIGHT;TextPanel panel=new TextPanel;Container contentPane=getContentPane;contentPane addpanel;public static final int WIDTH=300;public static final int HEIGHT= 200;class TextPanel extends JPanel public void paintComponentGraphics g super.; paintComponentgg.drawString Hello , World. , x, y ;public int x=100;public int y=100;29. 以下是子窗口中设置一个菜单条类的定义; 类的构造方法依据指定的窗口名称和菜单表设置菜单条, 菜单和菜单项, 当选中某个菜单项时, 在文本框中显示相应菜单项被选中的信息;class MenuWindow extends JFrame implements ActionListener public static JTextField text;欢迎下载精品学习资源public MenuWindowString s, String menuList setTitles;Container con=this.getContentPane;con.setLayoutnew BorderLayout; this.setLocation100, 100 ; this.setSize300, 100 ; JMenuBar menubar=new JMenuBar;forint i=0; i<menuList.length;i+ JMenu menu=new JMenumenuListi0; forintj=1; j<menuListi 1ength ; j+JMenultem anltem=new JMenultemmenuListij;anltem setActionCommandmenuListij;anltem ;menu.addanltem; ActionListenerthismenubar; addmenutext=new JTextField; setJMenuBarmenubar;con.addtext, BorderLayout SOUTH;public void actionPerformedActionEvent etext setTexte getActionCommand+ 菜单项被选中 . ;public class Test29 extends Applet MenuWindow window;String menuList=体育,跑步,打蓝球,打乒乓 , 消遣,唱歌,跳舞 ;public void init window=new MenuWindow体育消遣之窗, menuList ;window.setVisibletrue;30. 以下是一个用鼠标自由作画的小应用程序;最简洁的方法是依据鼠标所在位置画点,跟随鼠标的移动,不断画圆点,就能实现用鼠标作画;import java awt.* ;欢迎下载精品学习资源import java awt.event.*;public class Test30 extends java applet Applet implements MouseMotionListenerColor color; int lineSize=2:int x=-1,y=-l;public void initsetLocation30, 20 ; setSize300, 300 ;setBackgroundColor.green; addMouseMotionListenerthis;public void paintGraphics g ifx.=-1&&y.=-1g.setColorcolor; g.fillOvalx,y, 1ineSize, lineSize;public void mouseMovedMouseEvent e public void mouseDraggedMouseEvent ex=e.getX; y=egetY ;repaint欢迎下载精品学习资源public voidGraphics gpaintg; update;欢迎下载精品学习资源31. 以下定义的类ShareData 用于治理多个线程共享数据data ;一个线程生成 data ,另一个线程使用 data ;商定,新生成的data 只有被另一个线程使用后,才能生成下一个data ;反之, 一个 data 被使用后,也不能再连续使用;所以,生成和使用data 的线程之间需要互斥和同步; 以下是治理上述使用方式的类,类内有要治理的共享数据,以及对共享数据的存 操作 putData和取操作 getData;class ShareDataint data;共享数据boolean newData=false;有最近新生成data 的标志synchronized int getData while.newDatatry; wait catchInterruptedExceptipn eSystem.out.println因错误,而中断. ;欢迎下载精品学习资源newData=false ; notify; return data;synchronized void putDataint n whilenewDatatrywait;catchInterruptedException eSystem.out.println因错误,而中断. ;欢迎下载精品学习资源32. 32data=n ; newData=true notify; return;欢迎下载精品学习资源Parent s method 2 Parent s method 133. 在输入对话框中输入文字,并以多好作为分割符输出单词个数,及各个单词34. 3435. 程序功能:从键盘输入字符假如是大写字母A-Z,就显示在文本区中36. 红色、顺时针画圆37.publicstaticvoid strReverseString str byte s=str.getBytes;String t="";forint i=s.length-1;i>=0 ;i-t+=charsi;欢迎下载精品学习资源38.System.out .printlnt;done=new JButton"确定" ;欢迎下载精品学习资源done.addActionListenerthis;con.addtitle;con.adddone;