《2022年2022年计算机二级机试 2.pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机二级机试 2.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 模拟 计算机二级( java )机试 125 一、基本操作题第 1 题:本题中数组 arr 中存储了学生的成绩,分别为87,45,56,78,67,56,91,62,82,63,程序的功能是计算低于平均分的人数,并打印输出结果。请在程序空缺部分填写适当内容,使程序能正确运行。public class java1 public static void main(Stringargs) int arr=56,91,78,67,56,87,45,62,82,63); int num=art.length; int i=0; int sumScore=0; int sumNum=0; double
2、average; while(inum) sumScore=sumScore+arri; _; average=_; i=0; do if(arriaverage) sumNum+; i+; while(_); System.out.println(average:+average+,belows average:+sumNum); 参考答案:第 1 处:i+ 或 i=i+1或 i+=1 第 2 处:(double)sumScore/num 第 3 处:i hum 详细解答:本程序首先通过第一个while 循环求得平均数,再通过do while 循环逐一比较,判断是否及格。第1 处为 whil
3、e 循环的自加;第 2 处计算平均数;第 3 处do while循环终止条件。二、简单应用题第 2 题:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 本题中,主窗口有一个按钮“打开对话框”和一个文本域,单击按钮“打开对话框”后会弹出一个对话框,对话框上有两个按钮“Yes”和“ No”,单击对话框上的“ Yes”和“No”按钮后返回主窗口,并在右侧文本域中显示刚才所单击的按钮信息。import java.awt.event.*;
4、 import java.awt.*; class MyDialog_implements ActionListener static final int YES=1,NO=0; int message=-1;Button yes,no; MyDialog(Frame f,String s,boolean b) super(f,s,b); yes=new Button(Yes);yes.addActionListener(this); no=new Button(No);no.addActionListener(this); setLayout(new FlowLayout(); add(ye
5、s);add(no); setBounds(60,60,100,100); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) message=-1;setVisible(false); ); public void actionPerformed(ActionEvent e) if(e.getSource()=yes) message=YES; setVisible(false); else if(e.getSource()=no) message=NO; setVisible(fals
6、e); public int getMessage() return message; class Dwindow extends Frame implements ActionListener TextArea text;Button button;MyDialog dialog; Dwindow(String s) super(s); text=new TextArea(5,22);button=new Button(打开对话框 ); button.addActionListener(this); setLayout(new FlowLayout(); add(button);add(te
7、xt); dialog=new MyDialog(this,Dialog,true); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - setBounds(60,60,300,300);setVisible(true); validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) (System.exit(0
8、); ); public void actionPerformed(ActionEvent e) if(e.getSource()=button) _; if(dialog.getMessage()=MyDialog.YES) text.append(n你单击了对话框的yes 按钮); else if(dialog.getMessage()=MyDialog.NO) text.append(n你单击了对话框的No按钮); public class java2 public static void main(String args) (new Dwindow(java2); 参考答案:第 1 处
9、:extends Dialog 第 2 处:dialog.setVisible(true) 详细解答:第 1 处设定对话框的类应继承Dialog 类;第 2处显示对话框。三、综合应用题第 3 题:本题的功能是监听鼠标左右键的单击,以及面板中滚动条的添加。在窗口的画板中单击鼠标左键,在单击的位置绘制一个圆,当绘制的圆大于画板的大小时,画板就添加滚动条,在画板中单击鼠标右键,则清除画板中的所有图形。import javax.swing.*; import javax.swing.event.MouseInputAdapter; import java.awt.*; import java.awt.
10、event.*; import java.util.*; public class java3 extends JPanel private Dimension size; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - private Vector objects; private final Color colors= Color.red,Color.blue,Color.green,Color.orange, Color.
11、cyan,Color.magenta,Color.darkGray,Color.yellow; private final int color_n=colors.length; JPanel drawingArea; public java3() setOpaque(true); size=new Dimension(0,0); objects=new Vector(); JLabel instructionsLeft=new JLabel(单击鼠标左键画圆 .); JLabel instructionsRight=new JLabel(单击鼠标右键清空画板 .); JPanel instru
12、ctionPanel=new JPanel(new GridLayout(0,1); instructionPanel.add(instructionsLeft); instructionPanel.add(instructionsRight); drawingArea=new JPanel() protected void paintComponent(Graphics g) super.paintComponent(g); Rectangle rect; for(int i=0;iobjects.size();i+) rect=(Rectangle)objects.elementAt(i)
13、; g.setColor(colors(i%color_n); g.fillOval(rect.x,rect.y,rect.width,rect.height); ; drawingArea.setBackground(Color.white); drawingArea.addMouseListener(new MouseListener(); JScrollPane scroller=new JScrollPane(drawingArea); scroller.setPreferredSize(new Dimension(200,200); setLayout(new BorderLayou
14、t(); add(instructionPanel,BorderLayout.NORTH); add(scroller,BorderLayout.CENTER); class MyMouseListener extends mouseInputAdapter final int W=100; final int H=100; public void mouseReleased(MouseEvent e) boolean changed=false; if(SwingUtilities.isRightMouseButton(e) objects.removeAllElements(); size
15、.width=0; size.height=0; changed=true; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - else int x-e.getX()-W/2; int y=e.getY()-H/2; if(x0)x=0; if(Y 0)y=0; Rectangle rect=new Rectangle(x,y,W,H); objects.addElement(rect); drawingArea.scrollRe
16、ctToVisible(rect); int this_width=(x+W+2); if(this widthsize.width) size.width=this_width;changed=true; int this_height=(y+H+2); if(this_heightsize.height) size.height=this_height;changed=true; if(changed) drawingArea.setPreferredSize(size); drawingArea.revalidate(); drawingArea.paint(); public stat
17、ic void main(String args) JFrame frame=new JFrame(java3); frame.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)System.exit(0); ); frame.setContentPane(new java3(); frame.pack(); frame.setVisible(true); _ 参考答案:第 1 处: drawingArea.addMouseListener(new MyMouseListener() 第 2 处:class MyMouseListener extends MouseInputAdapter 第3处:dwawingArea.repaint() 详细解答:第 1 处注册监听器参数应为事件源, 应为 MyMouseListener;第 2 处 Java 是大小写敏感的;第3 处重绘构件。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -
限制150内