【计算机类职业资格】(A)二级JAVA笔试-11及答案解析.doc
《【计算机类职业资格】(A)二级JAVA笔试-11及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】(A)二级JAVA笔试-11及答案解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、(A)二级 JAVA 笔试-11 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.本题利用递归方法求前 n 个自然数的和(n=10)。public class java1public static void main(Stringargs)int sum=add(10);System. out. println(“1+2+9+10=“+sum);pubhc static int add(_)if(n=1)_;else_;(分数:30.00)填空项 1:_二、简单应用题(总题数:1,分数:30.00)2.本题中定义了一个简单的计算器,可以进
2、行基本的四则运算。程序中包含 16 个按钮用来表示09、+、-、*、/、=运算符和小数点,程序顶部的文本框用来显示操作数以及结果。import java. awt. * ;import java. awt. event. * ;import javax. swing. * ;public class java2public static void main(String args)tryUIManager. setLookAndFeel(UIManager. getSystemLookAndFeelClassName();catch (Exception e)JFrame frame=new
3、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;public CalculatorPanel()setLayout(new BorderLayout();dispIay=new JTextField(“0“);displa
4、y, 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; ibuttons, length(); i+)btn=new JButton(buttons. substring(i, i+1);p. add(btn);_;add(p, “Center“);public void actionPerformed(ActionEvent evt)String s=evt
5、. getActionCommand();if(0=s. charAt(0) else display, setText(display, getText()+s);start=false;elseif (start)if (s. equals(“-“)display. setText(s);start=false;else op=s;elsedouble x=_;calculate(x);op=s;start=true;public void calculate(double n)if (op. equals(“+“) arg+=n;else if (op. equals(“-“) arg-
6、= n;else if (op. equals(“*“) arg *=n;else if (op. equals(“/“) arg /=n;else if (op. equals(“=“) arg=n;display, setText(“+arg);class CalculatorFrame extends JFramepublic CalculatorFrame()setTitle(“java2“);setSize(220,180);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)Sys
7、tem. exit(0););Container contentPane=getContentPane();contentPane, add(new CalculatorPanel();(分数:30.00)填空项 1:_三、综合应用题(总题数:1,分数:40.00)3.本题的功能是用文本框来设定表盘中指针的位置。窗口中有一个画板和两个文本框,画板中绘制了一个表盘和时针、分针,通过文本框分别设定“时”和“分”,表盘中的时针和分针就会指到对应的位置上。import java. awt. * ;import java. awt. event. * ;import java. awt. geom. *
8、 ;import javax. swing. * ;import javax. swing, event. * ;public class java3public static void main(String args)TextTestFrame frame=new TextTestFrame();frame. setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);frame. show();class TextTestFrame extends JFramepublic TextTestFrame()setTitle(“java3“);setSi
9、ze(DEFAULT_WIDTH, DEFAULT_HEIGHT);Container contentPane=getContentPane();DocumentListener listener=new DocumentListen-er();JPanel panel=new JPanel();hourField=new JTextField(“12“,3);panel, add(hourField);hourField, getDocument (). addDocumentListener(this);minuteField=new JTextField(“00“,3);panel, a
10、dd(minuteField);minuteField, getDocument(), addDocumentListener(listener);contentPane, add ( panel, BorderLayout. SOUTH);clock=new ClockPanel();contentPane, add (clock, BorderLayout. CENTER);public void setClock()tryint hours= Integer. parseInt (hourField. getText(). trim();int minutes= Integer. par
11、selnt(minuteField, getText(), trim();clock, setTime(hours, minutes);catch (NumberFormatException e)public static final int DEFAULT WIDTH=300;public static final int DEFAULT_HEIGHT=300;private JTextField hourField;private JTextField minuteField;private ClockPanel clock;private class clockFieldListene
12、r extends DocumentListenerpublic void insertUpdate(DocumentEvent e) setClock();public void removeUpdate(DocumentEvent e) setClock();public void changedUpdate(DocumentEvent e) class ClockPanel extends JPanelpublic void paintComponent(Graphics g)super, paintComponent(g);Graphics2D g2=(Graphics2D)g;Ell
13、ipse2D circle=new Ellipse2D. Double(0,0,2 * RADIUS, 2 * RADIUS);g2. draw(circle);double hourAngle=Math. toRadians(90-360 * minutes/(12 * 60);drawHand (g2, hourAngle, HOUR_HAND_LENGTH);double minuteAngleMath. toRadians(90-360 * minutes/60)drawHand(g2, minuteAngle, MINUTE_HAND_LENGTH);public void draw
14、Hand(Graphics2D g2,double angle, double handLength)Point2D end=new Point2D. Double(RADIUS+handLength * Math. cos(angle),RADIUS-handLength * Math. sin(angle);Point2D center=new Point2D. Double(RADIUS, RADIUS)g2. draw(new Line2D. Double(center, end);public void setTime(int h, int m)minutes=h*60+m;repa
15、int();private double minutes=0;private double RADIUS=100;private double MINUTE_HAND_LENGTH=0.8 * RADIUS;private double HOUR_HAND_LENGTH=0.6 * RADIUS;(分数:40.00)填空项 1:_(A)二级 JAVA 笔试-11 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.本题利用递归方法求前 n 个自然数的和(n=10)。public class java1public static void mai
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 JAVA 笔试 11 答案 解析 DOC
