【计算机类职业资格】国家二级(JAVA)机试-试卷17及答案解析.doc

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

1、国家二级(JAVA)机试-试卷 17 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在程序中,随机产生 100 个学生的成绩,并计算出他们的平均成绩。学生的成绩按照五级打分制,“A”表示 4 分、“B”表示 3 分、“C”表示 2 分、“D”表示 1 分、“E”表示 0 分。平均成绩用浮点数表示。请填写横线处的内容。 注意:请勿修改 main()主方法和其他已有语句内容,仅在横线处填入适当语句。 import java.math.*; public class basic public static v

2、oid main(String args) float aver=0; int a=0, b=0, c=0, d=0, e=0, f=0; for(_; i 100; i+) double sd= Math.random()*5+A; char score=_; _(score) caseA: aver+=4;a+;break; caseB: aver+=3;b+;break; caseC: aver+=2;c+;break; caseD: aver+=1;d+;break; caseE: aver+=0;e+;break; default: break; aver/=100; System.

3、out.println(“平均分数为“+aver+“,学生人数 100“); System.out.println(“得 A 的学生有“+a+“人“); System.out.println(“得 B的学生有“+b+“人“); System.out.println(“得 C 的学生有“+c+“人“); System.out.println(“得 D 的学生有“+d+“人“); System.out.println(“得 E 的学生有“+e+“人“); (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.本程序的功能是读取用户输入的整数 a、

4、b,单击按钮“计算”,则计算出 a 和 b 数的和,并显示计算的结果。请将程序补充完整。 注意:请勿修改 main()主方法和其他已有语句内容,仅在横线处填入适当语句。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class simple public static void mainString args) ExampleFrame frame=new ExampleFrame(); frame._(JFrame.EXIT_ON_CLOSE); frame.show(); class Exa

5、mpleFrame extends JFrame private JPanel panel; public static final int DEFAULT_WIDTH=250; public static final int DEFAULT_HEIGHT=250; public ExampleFrame() Init(); setTitle(“welcome“); setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT); Container contentPane=getContentPane(); contentPane.add(panel); private void

6、 init() JLabel la1=new JLabel(“输入整数 a:“); JLabel la2=new JLabel (“输入整数 b:“); final JTextField num1=new JTextField(10); final JTextField num2=new JTextField(10); JButton but=new JButton(“计算“); final JLabel res=new JLabel(“结果:“); but.addActionListener(_ public void actionPerformed(ActionEvent event) S

7、tring str=new String(); String s1=num1.getText(); String s2=num2.getText(); try int a=Integer.parseInt(s1); int b=Integer.parseInt(s2); str=String.valueOf(a +b); catch(Exception e) str=e.getMessage(); res.setText (“结果:“+str); ); panel=new JPanel(); panel.setLayout(new FlowLayout(FlowLayout.LEFT); pa

8、nel.add(la1); panel.add(num1); panel.add(la2); panel.add(hum2); panel.add(but); panel.add(res); (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.本程序的目的是在屏幕上显示当前目录下的文件信息。文件信息通过表格 JTable 的实例显示。请更正题中带下划线的部分,使程序能输出正确的结果。 注意:不改变程序的结构,不得增行或删行。 import java.awt.*; import javax.swing.*; import java.util.

9、Date; import javax.swing.table.*; import java.applet.*; import java.io.*; public class advance extends JApplet, JFrame public void init() FileModel fm=new FileModel(); JTable jt=new JTable(); jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); jt.setColumnSelectionAllowed(true); JScrollPane jsp=new JScrol

10、lPane(jt); getContentPane().add(jsp, BorderLayout.CENTER); public static void main(String args) advance ft=new advance(); ft.init(); JFrame f=new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(ft.getContentPane(); f.setSize(300,400); f.show(); class FileModel exte

11、nds AbstractTableModel String columnName=new String “文件名“,“大小“,“最后修改时间“ ; Object data; public FileModel() this(“.“); public FileModel(String dir) File file=new File(dir); String files=file.list(); data=new Objectfiles.length columnName.length; for(int i=0; ifiles.length; i+) File tmp=new File(filesi

12、); datai 0=tmp.getName(); datai 1=new Long(tmp.length(); datai 2=new Date(tmp.lastModified(); public int getColumnNumber() return columnName.length; public int getRowCount() return data.length; public String getColumnName(int col) return columnNamecol; public Object getValueAt(int row, int col) retu

13、rn datarow col; public Class getColumnClass(int c) return getValueAt(0,c).getClass(); (分数:2.00)_国家二级(JAVA)机试-试卷 17 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.在程序中,随机产生 100 个学生的成绩,并计算出他们的平均成绩。学生的成绩按照五级打分制,“A”表示 4 分、“B”表示 3 分、“C”表示 2 分、“D”表示 1 分、“E”表示 0 分。平均成绩用浮点数表示。请填写横线处的

14、内容。 注意:请勿修改 main()主方法和其他已有语句内容,仅在横线处填入适当语句。 import java.math.*; public class basic public static void main(String args) float aver=0; int a=0, b=0, c=0, d=0, e=0, f=0; for(_; i 100; i+) double sd= Math.random()*5+A; char score=_; _(score) caseA: aver+=4;a+;break; caseB: aver+=3;b+;break; caseC: aver

15、+=2;c+;break; caseD: aver+=1;d+;break; caseE: aver+=0;e+;break; default: break; aver/=100; System.out.println(“平均分数为“+aver+“,学生人数 100“); System.out.println(“得 A 的学生有“+a+“人“); System.out.println(“得 B的学生有“+b+“人“); System.out.println(“得 C 的学生有“+c+“人“); System.out.println(“得 D 的学生有“+d+“人“); System.out.p

16、rintln(“得 E 的学生有“+e+“人“); (分数:2.00)_正确答案:(正确答案:int i=0 (char)sd switch)解析:解析:本题考查知识点:for 循环、多分支语句、数据类型之间的转换。解题思路:程序中用一个for 循环控制 100 个学生成绩的录入。sd 是随机产生的一个 65 到 69 之间的数,将其转换为字符型数据以后赋值给 score。使用多分支语句统计分数,最后算出平均值。第 1 个空考查 for 循环的使用。for 循环的结构是“for(循环初始化语句;循环结束条件;迭代部分)”,初始化语句中可以声明一个变量,这个变量的作用域是整个 for 循环。因此

17、第 1 个空应该声明变量。在本题中,i 可以是除布尔型以外的任意数据类型。第 2 个空考查数据类型之间的转换,凡是从高优先级次序的数据类型转换为低优先次序的数据类型,都必须使用强制类型转换。所以第 2 个空不能填写 sd,只能填写(char)sd。第 3 个空考查多分支语句的使用。Java 语言中的多分支语句为 switch-case 语句,由此得到第 3 个空的结果。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.本程序的功能是读取用户输入的整数 a、b,单击按钮“计算”,则计算出 a 和 b 数的和,并显示计算的结果。请将程序补充完整。 注意:请

18、勿修改 main()主方法和其他已有语句内容,仅在横线处填入适当语句。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class simple public static void mainString args) ExampleFrame frame=new ExampleFrame(); frame._(JFrame.EXIT_ON_CLOSE); frame.show(); class ExampleFrame extends JFrame private JPanel panel; pu

19、blic static final int DEFAULT_WIDTH=250; public static final int DEFAULT_HEIGHT=250; public ExampleFrame() Init(); setTitle(“welcome“); setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT); Container contentPane=getContentPane(); contentPane.add(panel); private void init() JLabel la1=new JLabel(“输入整数 a:“); JLabel

20、la2=new JLabel (“输入整数 b:“); final JTextField num1=new JTextField(10); final JTextField num2=new JTextField(10); JButton but=new JButton(“计算“); final JLabel res=new JLabel(“结果:“); but.addActionListener(_ public void actionPerformed(ActionEvent event) String str=new String(); String s1=num1.getText();

21、 String s2=num2.getText(); try int a=Integer.parseInt(s1); int b=Integer.parseInt(s2); str=String.valueOf(a +b); catch(Exception e) str=e.getMessage(); res.setText (“结果:“+str); ); panel=new JPanel(); panel.setLayout(new FlowLayout(FlowLayout.LEFT); panel.add(la1); panel.add(num1); panel.add(la2); pa

22、nel.add(hum2); panel.add(but); panel.add(res); (分数:2.00)_正确答案:(正确答案:setDefaulktCloseOperation new ActionListener()解析:解析:本题考查知识点:图形用户界面、Swing 构件。解题思路:图形用户界面上所有显示的要素都是编程时通过设计添加上去的。本题中主要考查了图形用户界面的关闭按钮事件响应,以及控件事件的监听。关闭按钮是图形用户界面的一个基本组成要素,是一种默认的关闭方式。ExampleFrame 是程序定义的一个内部类,在其构造函数中实现了初始化。init 方法将界面添加到面板中。

23、but.addActionListener 为按钮 but 添加事件监听器。在监听器中,首先获得用户输入的两个数的值。使用 try-catch 的原因是,用户可能输入的不是数字,这样就需要对异常情况进行处理。然后计算这两个数的和。最后,计算结果通过名为 res 的 JLabel 构件显示给用户。Java 程序中,通过设置 JFrame 框架的关闭属性,就可以在界面上对关闭按钮的事件做出响应。即 setDefaultCloseOperation()方法,这样就得到了第 1 个空的结果。事件监听是一种专门的开发模式,将事件分为监听源和监听器;事件源是各种构件以及由各类构件继承而生成的新的构件,监听

24、器是对事件做出具体动作的实体,它必须实现某种监听器接口。事件源自身不处理事件,而是通过注册监听器,将事件委托给监听器来处理。本题中第 2 个空就是通过新建一个 ActionListener 的实例来为 but 构件注册一个监听器。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.本程序的目的是在屏幕上显示当前目录下的文件信息。文件信息通过表格 JTable 的实例显示。请更正题中带下划线的部分,使程序能输出正确的结果。 注意:不改变程序的结构,不得增行或删行。 import java.awt.*; import javax.swing.*; impor

25、t java.util.Date; import javax.swing.table.*; import java.applet.*; import java.io.*; public class advance extends JApplet, JFrame public void init() FileModel fm=new FileModel(); JTable jt=new JTable(); jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); jt.setColumnSelectionAllowed(true); JScrollPane js

26、p=new JScrollPane(jt); getContentPane().add(jsp, BorderLayout.CENTER); public static void main(String args) advance ft=new advance(); ft.init(); JFrame f=new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(ft.getContentPane(); f.setSize(300,400); f.show(); class Fi

27、leModel extends AbstractTableModel String columnName=new String “文件名“,“大小“,“最后修改时间“ ; Object data; public FileModel() this(“.“); public FileModel(String dir) File file=new File(dir); String files=file.list(); data=new Objectfiles.length columnName.length; for(int i=0; ifiles.length; i+) File tmp=new

28、 File(filesi); datai 0=tmp.getName(); datai 1=new Long(tmp.length(); datai 2=new Date(tmp.lastModified(); public int getColumnNumber() return columnName.length; public int getRowCount() return data.length; public String getColumnName(int col) return columnNamecol; public Object getValueAt(int row, i

29、nt col) return datarow col; public Class getColumnClass(int c) return getValueAt(0,c).getClass(); (分数:2.00)_正确答案:(正确答案:extends JFrame JTable(fm) getColumnCount)解析:解析:本题考查知识点:JTable 构件的使用、小程序的安全机制。解题思路:FileModel 定义了一个 JTable 的模型,在这个模型中,File file=new File(dir)语句获得当前目录下的文件信息,然后将这些文件信息存储在模型的 data 变量中。Applet 的沙箱模型规定,未授权的小应用程序不能访问本地资源,当然也就不能读、写本地计算机的文件系统。本程序需要获得当前目录的信息,因此本题程序只能作为应用程序运行,所以第 1 处下划线应该去掉 JApplet。JTable 的主要功能是将数据以二维表格的方式显示出来。本题采用的是 MVC 模式,FileModel 实现了表格的模型。第 2 条下划线处使用 JTable 的构造方法将模型赋予表格“it”。 AbstractTableModel 所有的抽象方法都需要实现。第 3 条下划线处的方法在功能上与抽象方法 getColumnCount()相同,但是并没有实现该抽象方法。因此需要更正。

展开阅读全文
相关资源
猜你喜欢
  • FORD WSE-M3G211-A-2006 TAPE ALUMINUM FOIL HIGH TEMPERATURE PRESSURE SENSITIVE  TO BE USED WITH FORD WSS-M99P1111-A  《压敏耐高温铝箔胶带  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSE-M3G211-A-2006 TAPE ALUMINUM FOIL HIGH TEMPERATURE PRESSURE SENSITIVE TO BE USED WITH FORD WSS-M99P1111-A 《压敏耐高温铝箔胶带 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • FORD WSE-M3G216-A-2006 TAPE PRESSURE SENSITIVE ADHESIVE TWO SIDED POLYURETHANE FOAM  TO BE USED WITH FORD WSS-M99P1111-A  《聚氨酯泡沫双面涂布胶粘剂的压敏胶带  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSE-M3G216-A-2006 TAPE PRESSURE SENSITIVE ADHESIVE TWO SIDED POLYURETHANE FOAM TO BE USED WITH FORD WSS-M99P1111-A 《聚氨酯泡沫双面涂布胶粘剂的压敏胶带 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • FORD WSE-M3G218-A-2006 LABEL RUBBER SATURATED PAPER COMPUTER PRINTABLE PRESSURE SENSITIVE REMOVABLE NON-STAINING  TO BE USED WITH FORD WSS-M99P1111-A  《不沾染、可移除、可用计算机印刷的压敏橡胶浸透纸标签  与.pdf FORD WSE-M3G218-A-2006 LABEL RUBBER SATURATED PAPER COMPUTER PRINTABLE PRESSURE SENSITIVE REMOVABLE NON-STAINING TO BE USED WITH FORD WSS-M99P1111-A 《不沾染、可移除、可用计算机印刷的压敏橡胶浸透纸标签 与.pdf
  • FORD WSE-M4C110-A-2010 GASOLINE UNLEADED INITIAL FILL PREMIUM GRADE  TO BE USED WITH FORD WSS-M99P1111-A 《无铅电泳原漆优质级汽油  与福特WSS-M99P1111-A  一起使用》.pdf FORD WSE-M4C110-A-2010 GASOLINE UNLEADED INITIAL FILL PREMIUM GRADE TO BE USED WITH FORD WSS-M99P1111-A 《无铅电泳原漆优质级汽油 与福特WSS-M99P1111-A 一起使用》.pdf
  • FORD WSE-M4C111-A-2010 GASOLINE UNLEADED INITIAL FILL INTERMEDIATE GRADE  TO BE USED WITH FORD WSS-M99P1111-A  《初始注入的中等品质级无铅汽油  与标准FORD WSS-M99P1111-A一起使用  列于标准FORD WSE-M4C110-A上》.pdf FORD WSE-M4C111-A-2010 GASOLINE UNLEADED INITIAL FILL INTERMEDIATE GRADE TO BE USED WITH FORD WSS-M99P1111-A 《初始注入的中等品质级无铅汽油 与标准FORD WSS-M99P1111-A一起使用 列于标准FORD WSE-M4C110-A上》.pdf
  • FORD WSE-M4C112-A-2010 GASOLINE UNLEADED INITIAL FILL REGULAR GRADE  TO BE USED WITH FORD WSS-M99P1111-A  《无铅电泳原漆优质级汽油  与福特WSS-M99P1111-A  一起使用》.pdf FORD WSE-M4C112-A-2010 GASOLINE UNLEADED INITIAL FILL REGULAR GRADE TO BE USED WITH FORD WSS-M99P1111-A 《无铅电泳原漆优质级汽油 与福特WSS-M99P1111-A 一起使用》.pdf
  • FORD WSE-M4G323-A1-2013 SEALANT SILICONE RUBBER ACETOXY CURED LOW VISCOSITY  TO BE USED WITH FORD WSS-M99P1111-A  .pdf FORD WSE-M4G323-A1-2013 SEALANT SILICONE RUBBER ACETOXY CURED LOW VISCOSITY TO BE USED WITH FORD WSS-M99P1111-A .pdf
  • FORD WSE-M4G323-A2-2013 SEALANT SILICONE RUBBER ACETOXY CURED MEDIUM VISCOSITY  TO BE USED WITH FORD WSS-M99P1111-A  (Shown on FORD WSE-M4G323-A1).pdf FORD WSE-M4G323-A2-2013 SEALANT SILICONE RUBBER ACETOXY CURED MEDIUM VISCOSITY TO BE USED WITH FORD WSS-M99P1111-A (Shown on FORD WSE-M4G323-A1).pdf
  • FORD WSE-M4G323-A3-2013 SEALANT SILICONE RUBBER ACETOXY CURED HIGH VISCOSITY  TO BE USED WITH FORD WSS-M99P1111-A  (Shown on FORD WSE-M4G323-A1).pdf FORD WSE-M4G323-A3-2013 SEALANT SILICONE RUBBER ACETOXY CURED HIGH VISCOSITY TO BE USED WITH FORD WSS-M99P1111-A (Shown on FORD WSE-M4G323-A1).pdf
  • 相关搜索

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

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