欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1326564       资源大小:40KB        全文页数:10页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、二级 JAVA 机试-37 及答案解析(总分: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);public static int add(_)if(n=1)_;else_;(分数:30.00)_二、简单应用题(总题数:1,分数:40.00)2.本题中定义了一个简单的计算器,可以进行基本的四则运算

    2、。程序中包含 16 个按钮用来表示09、+、-、*、/、=运算符和小数点,程序顶部的文本框用来显示操作数以及结果。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class java2public static void main(Stringargs)tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)JFrame frame=new CalculatorFrame();fram

    3、e.show();class CalculatorPanel extends JPanel implements ActionListenerprivate JTextField display;private JButton btn;private double arg=0;private String op=“=“;private boolean start=true;public CalculatorPanel()setLayout(new BorderLayout();display=new JTextField(“0“);display.setEditable(false);add(

    4、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.getActionCommand();if(0=s.charAt(0)

    5、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-n;else if(op.equals(“*“)arg*=n;else if(op.equals(“/

    6、“)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)System.exit(0););Container contentPane=getContentPane();contentPane.

    7、add(new CalculatorPanel();(分数:40.00)_三、综合应用题(总题数:1,分数:30.00)3.本题的功能是用文本框来设定表盘中指针的位置。窗口中有一个画板和两个文本框,画板中绘制了一个表盘和时针、分针,通过文本框分别设定“时”和“分”,表盘中的时针和分针就会指到对应的位置上。import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import javax.swing.*;import javax.swing.event.*;public class java3public static vo

    8、id main(Stringargs)TextTestFrame frame=new TextTestFrame();frame.setDefauhCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();class TextTestFrame extends JFramepublic TextTestFrame()setTitle(“java3“);setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);Container contentPane=getContentPane();DocumentListener listener

    9、=new DocurnentListener();JPanel panel=new JPanel();hourField=new JTextField(“12“,3);panel.add(hourField);hourField.getDocument().addDocumentListener(this);minuteField=new JTextField(“00“,3);panel.add(minuteField);minuteField.getDocument().addDocumentListener(listener);contentPane.add(panel,BorderLay

    10、out.SOUTH);clock=new ClockPanel();contentPane.add(clock,BorderLayout.CENTER);public void setClock()tryint hours=Integer.parseInt(hourField,getText().trim();int minutes=Integer.parseInt(minuteField.getText().trim();clock.setTime(hours,minutes);catch(NumberFormatException e)public static final int DEF

    11、AULT_WIDTH=300;public static final int DEFAULT_HEIGHT=300;private JTextField hourField;private JTextField minuteField;private ClockPanel clock;private class clockFieldListener extends DocumentListenerpublic void insertUpdate(DocumentEvent e)setClock();public void removeUpdate(DocumentEvent e)setCloc

    12、k();public void changedUpdate(DocumentEvent e)class ClockPanel extends JPanelpublic void paintComponent(Graphics g)super.paintComponent(g);Graphics2D g2=(Graphics2D)g;Ellipse2D circle=new Ellipse2D.Double(0,0,2*RADIUS,2*RADIUS);g2.draw(circle);double hourAngle=Math.toRadians(90-360*minutes/(12*60);d

    13、rawHand(g2.hourAngle,HOUR_HAND_LENGTH);double minuteAngle=Math.toRadians(90-360*minutes/60);drawHand(g2,minuteAngle,MINUTE_HAND_LENGTH);public void drawHand(Graphics2D g2,double angle,double handLength)Point2D end=new Poim2D.Double(RADIUS+handLength*Math.cos(angle),RADIUS-handLength*Math.sin(angle);

    14、Point2D center=new Point2D.Double(RADIUS,RADIUS);g2.draw(new Line2D.Double(center,end);public void setTime(int h,int m)minutesh*60+m:repaint();private double minutes=0;private double RADIUS=100;private double MINUTE_HAND_LENGTH=0.8*RADIUS;private double HOUR_HAND_LENGTH=0.6*RADIUS;(分数:30.00)_二级 JAVA

    15、 机试-37 答案解析(总分: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);public static int add(_)if(n=1)_;else_;(分数:30.00)_正确答案:(第 1 处:int n第 2 处:return 1第 3 处:return n+add(n-1)解析:解析

    16、 递归方法是一种调用程序本身并采用栈结构的算法,第 1 处定义参数类型;第 2 处是递归初值;第 3 处为递归运算。二、简单应用题(总题数:1,分数:40.00)2.本题中定义了一个简单的计算器,可以进行基本的四则运算。程序中包含 16 个按钮用来表示09、+、-、*、/、=运算符和小数点,程序顶部的文本框用来显示操作数以及结果。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class java2public static void main(Stringargs)tryUIManager.setLo

    17、okAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)JFrame frame=new CalculatorFrame();frame.show();class CalculatorPanel extends JPanel implements ActionListenerprivate JTextField display;private JButton btn;private double arg=0;private String op=“=“;private boolean start=true;pub

    18、lic 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;ibuttons.length();i+)btn=new JButton(buttons.substring(i,i+1);p.add(btn);_

    19、;add(p,“Center“);public void actionPerformed(ActionEvent evt)String s=evt.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(d

    20、ouble 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=n;display.setText(“+arg);class CalculatorFrame extends JFramepublic CalculatorFrame()setTitle(“java2“);setSize(220,180);addWindowListener(new WindowAdapter(

    21、)public void windowClosing(WindowEvent e)System.exit(0););Container contentPane=getContentPane();contentPane.add(new CalculatorPanel();(分数:40.00)_正确答案:(第 1 处:btn.addActionListener(this)第 2 处:Double.parseDouble(display.getText()解析:解析 第 1 处为按钮添加监听器;第 2 处获得输入数字并转化为 double 型。三、综合应用题(总题数:1,分数:30.00)3.本题的

    22、功能是用文本框来设定表盘中指针的位置。窗口中有一个画板和两个文本框,画板中绘制了一个表盘和时针、分针,通过文本框分别设定“时”和“分”,表盘中的时针和分针就会指到对应的位置上。import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import javax.swing.*;import javax.swing.event.*;public class java3public static void main(Stringargs)TextTestFrame frame=new TextTestFrame();frame.

    23、setDefauhCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();class TextTestFrame extends JFramepublic TextTestFrame()setTitle(“java3“);setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);Container contentPane=getContentPane();DocumentListener listener=new DocurnentListener();JPanel panel=new JPanel();hourField=new

    24、JTextField(“12“,3);panel.add(hourField);hourField.getDocument().addDocumentListener(this);minuteField=new JTextField(“00“,3);panel.add(minuteField);minuteField.getDocument().addDocumentListener(listener);contentPane.add(panel,BorderLayout.SOUTH);clock=new ClockPanel();contentPane.add(clock,BorderLay

    25、out.CENTER);public void setClock()tryint hours=Integer.parseInt(hourField,getText().trim();int minutes=Integer.parseInt(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

    26、 JTextField hourField;private JTextField minuteField;private ClockPanel clock;private class clockFieldListener extends DocumentListenerpublic void insertUpdate(DocumentEvent e)setClock();public void removeUpdate(DocumentEvent e)setClock();public void changedUpdate(DocumentEvent e)class ClockPanel ex

    27、tends JPanelpublic void paintComponent(Graphics g)super.paintComponent(g);Graphics2D g2=(Graphics2D)g;Ellipse2D 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 minuteAngle=Math.to

    28、Radians(90-360*minutes/60);drawHand(g2,minuteAngle,MINUTE_HAND_LENGTH);public void drawHand(Graphics2D g2,double angle,double handLength)Point2D end=new Poim2D.Double(RADIUS+handLength*Math.cos(angle),RADIUS-handLength*Math.sin(angle);Point2D center=new Point2D.Double(RADIUS,RADIUS);g2.draw(new Line

    29、2D.Double(center,end);public void setTime(int h,int m)minutesh*60+m:repaint();private double minutes=0;private double RADIUS=100;private double MINUTE_HAND_LENGTH=0.8*RADIUS;private double HOUR_HAND_LENGTH=0.6*RADIUS;(分数:30.00)_正确答案:(第 1 处:DocumentListener listener=new ClockFieldListener()第 2 处:hourField.getDocument().addDocumentListener(listener)第 3 处:private class ClockFieldListener implements DocumentListener)解析:解析 第 1 处从后面程序可以看出 ClockFieldListener 类扩展了 DocumentListener,此处应使用继承后的子类;第 2 处注册窗体的监听器,参数应为事件源。第 3 处实现的是接口,应使用implements。


    注意事项

    本文(【计算机类职业资格】二级JAVA机试-37及答案解析.doc)为本站会员(sumcourage256)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开