1、二级 JAVA 机试-49 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.本题将一个整形变量 op1 的二进制的低 3 位全部变成 1。public class java1public static void main(Stringargs)_op1=21;int op2=7;_res;_;System.out.println(res);(分数:30.00)_二、简单应用题(总题数:1,分数:40.00)2.本题的功能是将文件 java2.java 复制为文件 java2.java.bak。import java.io.*;public
2、 class java2public static void main(String sarg)(tryFile file=new File(“java2.java.bak“);_;FilelnputStream rfile=new FileInputStream(“java2.java“);FileOutputStream wfile=new FileOutputStream(“java2.java.bak“);int c;while( )wfile.write(char)c);rfile.close();wfile.close();catch(Exception e)System.out.
3、println(“读取文件的时候发生错误!“);)System.out.println(“复制操作完成!“);(分数:40.00)_三、综合应用题(总题数:1,分数:30.00)3.本题的功能是用复选按钮来控制鼠标右键的弹出菜单是否弹出。窗口中有一个复选按钮“弹出菜单”,如果选中该复选按钮后,鼠标置于窗口上,单击鼠标右键会弹出一个菜单,单击菜单项中的选项后,后台会输出单击的菜单项,如果取消该复选按钮的选择,单击鼠标右键则不能弹出菜单。import java.awt.*;import java.awt.event.*;class CanvasWithPopup extends CanvasPop
4、upmenu popup;CanvasWithPopup(PopupMenu popup)enableEvents(AWTEvent.MOUSE_EVENT_MASK);this.popup=popup;void addPopup()add(popup);void removePopup()remove(popup);protected void processMouseEvent(MouseEvent evt)if(popup.getParent()!=nullsuper.processMouseEvent(evt);public class java3 extends Frame impl
5、ements ItemListener,ActionListenerCheckbox cb=new Checkbox(“弹出菜单“,false);CanvasWithPopup canvas;java3()super(“java3“);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););add(cb,BorderLayout.NORTH);cb.addItemListener(this);PopupMenu popup=new PopupMenu(“Butto
6、n Control“);popup.add(“item1“);popup.add(“item2“);popup.addActionListener(this);canvas=new CanvasWithPopup(popup);add(canvas,BorderLayout.CENTER);setSize(100,200);show();public void itemStateChanged(ItemEVent evt)switch(evt.getState()(case ItemEvent.SELECTED:canvas.addPopup();break;case ItemEvent.DE
7、SELECTED:canvas.removePopup();break;public void actionPerformed(ActionEvent evt)System.out.printlnCgetActionCommand()+“is seIected“);static public void main(Stringargs)new java3();(分数:30.00)_二级 JAVA 机试-49 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.本题将一个整形变量 op1 的二进制的低 3 位全部变成 1。public class
8、java1public static void main(Stringargs)_op1=21;int op2=7;_res;_;System.out.println(res);(分数:30.00)_正确答案:(第 1 处:int第 2 处:int第 3 处:res=op1|op2)解析:解析 本题考查位运算符和位运算表达式,第 1 处和第 2 处定义变量;第 3 处 op1 的二进制的低3 位全部变成 1 等同于与 7 进行按位或操作。二、简单应用题(总题数:1,分数:40.00)2.本题的功能是将文件 java2.java 复制为文件 java2.java.bak。import java.
9、io.*;public class java2public static void main(String sarg)(tryFile file=new File(“java2.java.bak“);_;FilelnputStream rfile=new FileInputStream(“java2.java“);FileOutputStream wfile=new FileOutputStream(“java2.java.bak“);int c;while( )wfile.write(char)c);rfile.close();wfile.close();catch(Exception e)
10、System.out.println(“读取文件的时候发生错误!“);)System.out.println(“复制操作完成!“);(分数:40.00)_正确答案:(第 1 处:file.createNewFile()第 2 处:(c=rfile.read()!=-1)解析:解析 本题考查文件操作,第 1 处在写入文件前要创建文件;第 2 处为判断是否为文件尾。三、综合应用题(总题数:1,分数:30.00)3.本题的功能是用复选按钮来控制鼠标右键的弹出菜单是否弹出。窗口中有一个复选按钮“弹出菜单”,如果选中该复选按钮后,鼠标置于窗口上,单击鼠标右键会弹出一个菜单,单击菜单项中的选项后,后台会输
11、出单击的菜单项,如果取消该复选按钮的选择,单击鼠标右键则不能弹出菜单。import java.awt.*;import java.awt.event.*;class CanvasWithPopup extends CanvasPopupmenu popup;CanvasWithPopup(PopupMenu popup)enableEvents(AWTEvent.MOUSE_EVENT_MASK);this.popup=popup;void addPopup()add(popup);void removePopup()remove(popup);protected void processMo
12、useEvent(MouseEvent evt)if(popup.getParent()!=nullsuper.processMouseEvent(evt);public class java3 extends Frame implements ItemListener,ActionListenerCheckbox cb=new Checkbox(“弹出菜单“,false);CanvasWithPopup canvas;java3()super(“java3“);addWindowListener(new WindowAdapter()public void windowClosing(Win
13、dowEvent e)System.exit(0););add(cb,BorderLayout.NORTH);cb.addItemListener(this);PopupMenu popup=new PopupMenu(“Button Control“);popup.add(“item1“);popup.add(“item2“);popup.addActionListener(this);canvas=new CanvasWithPopup(popup);add(canvas,BorderLayout.CENTER);setSize(100,200);show();public void it
14、emStateChanged(ItemEVent evt)switch(evt.getState()(case ItemEvent.SELECTED:canvas.addPopup();break;case ItemEvent.DESELECTED:canvas.removePopup();break;public void actionPerformed(ActionEvent evt)System.out.printlnCgetActionCommand()+“is seIected“);static public void main(Stringargs)new java3();(分数:30.00)_正确答案:(第 1 处:PopupMenu popup第 2 处:switch(evt.getStateChange()第 3 处:System.out.println(evt.getActionCommand()+“is selected“)解析:解析 第 1 处 Java 是大小写敏感的;第 2 处复选按钮状态更改事件为 getStateChange;第 3 处getActionCommand()没有对应的 ActionEvent。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1