【计算机类职业资格】计算机二级JAVA-138及答案解析.doc
《【计算机类职业资格】计算机二级JAVA-138及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机二级JAVA-138及答案解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、计算机二级 JAVA-138及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.本题程序的功能是计算 110(包括 1和 10)中除 5以外各个自然数的和。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 public class basic public static void main (String args) int i = 1; int sum = 0; while(i = 10) if(i = 5) _; _; _; i+; System.out.println (“sum=“+sum); (分数:30.00)
2、_二、2简单应用题(总题数:1,分数:40.00)2.本题程序的功能是定义一个简单的计算器,可以进行基本的四则运算。程序中布局了 16个按钮用来表示数字 09 及运算符和点号,程序顶部的文本框用来显示运算数及结果。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class simple public static void main (String args) try UIManager.setLookAndFeel(UIMana
3、ger.getSystemLookAndFeelClassName(); catch (Exception e) JFrame frame = new CalculatorFrame(); frame.show(); class CalculatorPanel extends JPanel implements ActionListener private JTextField display; private JButton btn; private double arg = 0; private String op = “=“; private boolean start = true;
4、public CalculatorPanel() setLayout(new BorderLayout(); display = new JTextField(“0“); display.setEditable(false); add(display,“North“); JPanel p = new JPanel(); p.setLayout(new GridLayout(4,4); String buttons = “789/456“123-0.= +“; for (int i = 0; i buttons.length(); i +) btn = new JButton(buttons.s
5、ubstring(i,i + 1); p.add(btn); _; add(p,“Center“); public void actionPerformed(ActionEvent evt) String s = evt.getActionCommand(); if (“0“ = s.charAt(0)s.charAt(0) =“9“ |s.equals(“.“) if (start) display.setText(s); else display.setText(display.getText() + s); start = false; else if (start) if (s.equ
6、als(“-“) display.setText(s); start = false; else op = s; else double x =_; calculate(x); op = s; start = true; public void calculate(double n) if (op.equals(“ + “) arg += n; else if(op.equals(“-“) arg - = n; else if(op.equals(“*“) arg *= n; else if(op.equals(“/“) arg /= n; else if(op.equals(“=“) arg
7、=n; display.setText(“+ arg); class CalculatorFrame extends Jframe public CalculatorFrame() setTitle(“simple“); setSize(220,180); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); Container contentPane=getContentPane(); contentPane.add(new CalculatorPan
8、el(); (分数:40.00)_三、3综合应用题(总题数:1,分数:30.00)3.本题程序的功能是用键盘上的方向键来控制直线的绘制方向。如果一直按向上的方向键,则在窗口中从焦点开始向上缓慢绘制直线,按其他方向的方向键也会向对应的方向缓慢地绘制直线。如果按下 Shift键,绘制直线的速度会加快。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import java.awt.geom.*; import java.util.*; import java.awt.event.*; import javax.swing.*; public
9、class advance public static void main(String args) SketchFrame frame = new SketchFrame(); frame.setDefaultCloseOperation(JFrame.EXIT ON CLOSE); frame,show (); class SketchFrame extends JFrame public SketchFrame() setTitle(“advance“); setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT); SketchPanel panel = new Ske
10、tchPanel(); Container contentPane = getContentPane(); contentPane.add(panel); public static final int DEFAULT_WIDTH = 300; public static final int DEFAULT_HEIGHT = 200; class SketchPanel extends JPanel _; last = new Point2D.Double(100,100); lines = new ArrayList(); KeyHandler listener = new KeyHandl
11、er(); _; setFocusable(true); public void add(int dx,int dy) Point2D end = new Point2D.Double(last.getX()+ dx,last.getY() + dy); Line2D line = new Line2D.Double(last,end); lines.add(line); repaint(); last = end; public void paintComponent(Graphics g) super.paintComponent(g); Graphics2D g2 = (Graphics
12、2D)g; for (int i = 0; i lines.size(); i+) g2 .draw (Line2D) lines .get (i); private Point2D last; private ArrayList lines; private static final int SMALL INCREMENT = i; private static final int LARGE_INCREMENT = 5; private class KeyHandler implements KeyListener public void keyPressed(KeyEvent event
13、) _; int d; if (event.isShiftDown() d = LARGE_INCREMENT; else d = SMALL_INCREMENT; if(keyCode = KeyEvent.VK_LEFT) add(-d,0); else if(keyCode = KeyEvent.VK_RIGHT) add(d,0); else if(keyCode = KeyEvent.VK_UP) add(0,-d); else if(keyCode = KeyEvent.VK DOWN) add(0,d); public void keyReleased(KeyEvent even
14、t) public void keyTyped(KeyEvent event) char keyChar = event.getKeyChar(); int d; if (Charaeter.isUpperCase(keyChar) d = LARGE_INCREMENT; keyChar = Character.toLowerCase(keyChar); else d = SMALL_INCREMENT; (分数:30.00)_计算机二级 JAVA-138答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.本题程序的功能是计算 110(包括
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 JAVA138 答案 解析 DOC
