【计算机类职业资格】二级JAVA机试21及答案解析.doc

上传人:boatfragile160 文档编号:1326630 上传时间:2019-10-17 格式:DOC 页数:4 大小:38.50KB
下载 相关 举报
【计算机类职业资格】二级JAVA机试21及答案解析.doc_第1页
第1页 / 共4页
【计算机类职业资格】二级JAVA机试21及答案解析.doc_第2页
第2页 / 共4页
【计算机类职业资格】二级JAVA机试21及答案解析.doc_第3页
第3页 / 共4页
【计算机类职业资格】二级JAVA机试21及答案解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、二级 JAVA机试 21及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.“角谷猜想”指出,将一个自然数按以下的一个简单规则进行运算:若数为偶数,则除以 2:若为奇数,则乘以 3加 1。将得到的数按该规则重复运算,最终可得 1。请在下面程序的每条横线处填写一个语句,使程序的功能完整。(如:输入 34,则输出结果为 34 17 52 26 13 40 20 10 5 16 8 4 2 1) 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 源程序文件清单如下: import java.io.*; cl

2、ass JiaoGu public static void main(String args) System.out.print(“/n请输入一个数“); try BufferedReader br= new BufferedReader(new InputStreamReader(System.in); Stirng s=br.readLine(); _ while(a!=1) System.out.print(“ “+a); if(a%2=1) _ else a=a/2; System.out.println(“ “+a); _ (分数:30.00)_二、B2简单应用题/B(总题数:1,分

3、数:40.00)2.请完成下列 Java程序:用 Swing实现一个简单的学生成绩管理器,显示出学生的姓名、Java 成绩、C+成绩和这两门课的平均成绩,学生一共有 4个人(Mike,Jack 等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变 Mike的 java成绩后,在平均成绩栏会自动更新为新的平均成绩。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 源程序文件清单如下: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.s

4、wing.event.*; import javax.swing.table.TableModel; public class ex03_2 extends JFrame private JTable jt; private String strData; public static void main(String args) ex03_2 obj03_2=new ex03_2(); obj03_2.pack(); obj03_2.setVisible(true); public ex03_2() StringcolumnNames=“name“,“java“,“C+“,“average“;

5、 strData=new String “Mike“,“70.0“,“80.0“,“75.0“, “Jack“,“70.0“,“100.0“,“85.0“, “David“,“75.0“,“95.0“,“85.0“, “Tom“,“60.0“,“80.0“,“70.0“ ; jt=new JTable(strData,columnNames); jt.setPreferredScrollableViewportSize(new Dimension(400,200);JScrollPane tp=new JScrollPane(jt); setTitle(“ex03_2“); Container

6、 cp=getContentPane(); cp.add(tp,BorderLayout.CENTER); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent we) System.exit(0); jt.setSelectionMode(ListSelectionModel.SINGLE SELECTION); TableModel tm=jt.getModel(); tm.addTableModelListener(new TableModelListener() public void t

7、ableChanged(TableModelEvent tme) int nRow=tme.getFirstRow(); float fNum; float fSum=0; for(int i=1;i=2;i+) fNum=Float.parseFloat(_); fSum+=fNum; float fAverage=fSum/2; _; (分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet程序,其功能是实现网页上的电子时钟,要求显示的格式为 hh:mm:ss如02:04:50。提示:通过获取当前系统时间来实现。请改正程序中的错误(有下划线的

8、语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件清单如下: import java.applet.*; import java.awt.*; import java.util.Date; public class ex03_3 extends Applet implements Runnable private Thread thTimer=null; private String strTime; private int tHour,tMin,tSec; public void init() setFont(new Font(“Times New Rom

9、an“,FontBOLD,20); public void paint(Graphics Graph) Date dNow=new Date(); tHour=dNow.getHours(); tMin=dNow.getMinutes(); tSec=dNow.getSeconds(); if(tHour=9) strTime=“0“+tHour+“:“; else strTime=tHour+“:“; if (tMin=9) UstrTime=“0“+strTime+tMin+“:“;/U else strTime=strTime+tMin+“:“; if(tSec=9) UstrTime=

10、“0“+strTime+tSec;/U else strTime=StrTime+tSec; Graph.drawString(StrTime,80,80); public void Start if(thTimer=null) thTimer=new Thread(); thTimer.start(); public void run() while(thTimer!=null) repaint(); try Thread.sleep(1000); catch (InterruptedException ie) Bex03_3.html/B HTML HEAD TITLEex03_3/TIT

11、LE /HEAD BODY applet code=“ex03_3.class“ width=800 height=400 /applet /BODY /HTML(分数:30.00)_二级 JAVA机试 21答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.“角谷猜想”指出,将一个自然数按以下的一个简单规则进行运算:若数为偶数,则除以 2:若为奇数,则乘以 3加 1。将得到的数按该规则重复运算,最终可得 1。请在下面程序的每条横线处填写一个语句,使程序的功能完整。(如:输入 34,则输出结果为 34 17 52 26 13 40 20

12、 10 5 16 8 4 2 1) 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 源程序文件清单如下: import java.io.*; class JiaoGu public static void main(String args) System.out.print(“/n请输入一个数“); try BufferedReader br= new BufferedReader(new InputStreamReader(System.in); Stirng s=br.readLine(); _ while(a!=1) System.out.print(

13、“ “+a); if(a%2=1) _ else a=a/2; System.out.println(“ “+a); _ (分数:30.00)_正确答案:()解析:int a=Integer.parseInt(s); a=a*3+1; catch(Exception e) 解析 本题主要考查异常的捕获知识、对文件的操作知识。解答本题的关键是熟练掌握异常的捕获知识、对文件的操作知识。在本题中,int a=Integer.parseInt(s)语句的功能是 s这个字符型数据转换成整型数据,a%2=1 语句的功能是判断变量 a是否为奇数,try-catch()结构的功能是异常的捕获。二、B2简单应用

14、题/B(总题数:1,分数:40.00)2.请完成下列 Java程序:用 Swing实现一个简单的学生成绩管理器,显示出学生的姓名、Java 成绩、C+成绩和这两门课的平均成绩,学生一共有 4个人(Mike,Jack 等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变 Mike的 java成绩后,在平均成绩栏会自动更新为新的平均成绩。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 源程序文件清单如下: import java.awt.*; import java.awt.event.*; import javax.swing.*; imp

15、ort javax.swing.event.*; import javax.swing.table.TableModel; public class ex03_2 extends JFrame private JTable jt; private String strData; public static void main(String args) ex03_2 obj03_2=new ex03_2(); obj03_2.pack(); obj03_2.setVisible(true); public ex03_2() StringcolumnNames=“name“,“java“,“C+“

16、,“average“; strData=new String “Mike“,“70.0“,“80.0“,“75.0“, “Jack“,“70.0“,“100.0“,“85.0“, “David“,“75.0“,“95.0“,“85.0“, “Tom“,“60.0“,“80.0“,“70.0“ ; jt=new JTable(strData,columnNames); jt.setPreferredScrollableViewportSize(new Dimension(400,200);JScrollPane tp=new JScrollPane(jt); setTitle(“ex03_2“)

17、; Container cp=getContentPane(); cp.add(tp,BorderLayout.CENTER); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent we) System.exit(0); jt.setSelectionMode(ListSelectionModel.SINGLE SELECTION); TableModel tm=jt.getModel(); tm.addTableModelListener(new TableModelListener() pu

18、blic void tableChanged(TableModelEvent tme) int nRow=tme.getFirstRow(); float fNum; float fSum=0; for(int i=1;i=2;i+) fNum=Float.parseFloat(_); fSum+=fNum; float fAverage=fSum/2; _; (分数:40.00)_正确答案:()解析:(String)jt.getValueAt(nRow,i) strDatanRow3=Float.toString(fAve rage) 解析 本题主要考查用 swing基本构件设计图形用户界面

19、,以及对二维数组的基本操作。解题关键是熟悉 swing基本构件 JTable的使用方法,熟悉 swing的基本事件机制,会使用 addTableModelListener()来注册该模型的一个 TableModelListener,一旦表格内容改变,tableChanged()方法会被执行,使用 getFirstRow()方法来得到数据被改变的行并重新计算平均值,由于数组是用来存储表格的数据,可以直接更改该数组的值。本题中,第 1个空,根据参数 nRow和 i定位相应的数组中的数据;第 2个空,修改数组中记录平均值的单元中的数据。三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是

20、一个 Applet程序,其功能是实现网页上的电子时钟,要求显示的格式为 hh:mm:ss如02:04:50。提示:通过获取当前系统时间来实现。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件清单如下: import java.applet.*; import java.awt.*; import java.util.Date; public class ex03_3 extends Applet implements Runnable private Thread thTimer=null; private String st

21、rTime; private int tHour,tMin,tSec; public void init() setFont(new Font(“Times New Roman“,FontBOLD,20); public void paint(Graphics Graph) Date dNow=new Date(); tHour=dNow.getHours(); tMin=dNow.getMinutes(); tSec=dNow.getSeconds(); if(tHour=9) strTime=“0“+tHour+“:“; else strTime=tHour+“:“; if (tMin=9

22、) UstrTime=“0“+strTime+tMin+“:“;/U else strTime=strTime+tMin+“:“; if(tSec=9) UstrTime=“0“+strTime+tSec;/U else strTime=StrTime+tSec; Graph.drawString(StrTime,80,80); public void Start if(thTimer=null) thTimer=new Thread(); thTimer.start(); public void run() while(thTimer!=null) repaint(); try Thread

23、.sleep(1000); catch (InterruptedException ie) Bex03_3.html/B HTML HEAD TITLEex03_3/TITLE /HEAD BODY applet code=“ex03_3.class“ width=800 height=400 /applet /BODY /HTML(分数:30.00)_正确答案:()解析:strTime=strTime+“0“+tMin+“:“ strTime=strTime+“0“+tSec new Thread(this) 解析 本题主要考查 Java多线程与 Applet的图形绘制相结合解决实际问题的综

24、合应用。解题关键是熟悉 Java多线程的程序设计思想,必须在程序中编写线程类内 start()、stop()和 run()方法的相关程序,利用线程类的sleep()方法,让每次显示的时间延迟 1秒,使电子时钟看起来像是每一秒跳动一次的样子,同时还要熟悉 Date 类的 getHours()等方法获得时间。本题中,包含两个线程,一个是程序中 Runnable得到的线程,另一个是程序本身。第 1处和第 2处错误相似,一个是在不足 10的小时数的前一位补上 0,如tHotur=9,则显示出来的应该是 09:第 3处,用 Thread类的构造函数创建新的线程时,需要把 this作为参数传递给新的线程,否则程序不会动态执行。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1