1、二级 JAVA 机试-83 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.本题定义了一个方法 add(),用于求两个整形数的和。方法中有两个整形参数 a 和 b,方法体中计算 a和 b 的和 sum,并将结果返回。程序中调用 add()方法求整数 24 和 34 的和,并将结果打印输出。public class java1public static void main(Stringargs)int a=24,b=34;System.out.println(add(a,b);public static int add(_)_;sum=a+
2、b;_;(分数:30.00)_二、简单应用题(总题数:1,分数:40.00)2.本题中,主窗口有一个按钮“显示 Dialog”,单击该按钮后显示一个对话框,对话框的标题是“Dialog”,其上有一个文字标签“欢迎学习 Java.”,此时仍允许对原来窗口进行操作,当关闭新生成的对话框时退出程序。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class java2 extends Frame implements ActionListenerpublic static void main(String a
3、rgs)java2 f=new java2(“java2“);Panel pan=new Panel();f.init();public java2(String str)super(str);public void init()addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););setSize(200,200);setLayout(new FlowLayout();but=new Button(“显示 Dialog“);add(but);but.addAct
4、ionListener(this);dlg=new Dialog(this,“Dialog“,_);dlg.setSize(100,50);dlg.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)_;);dlg.add(“Center“,new Label(“欢迎学习 Java.“);setVisible(true);public void actionPerformed(ActionEvent e)dlg.setVisible(true);private Dialog dlg;priva
5、te Button but;(分数:40.00)_三、综合应用题(总题数:1,分数:30.00)3.本题的功能是监听鼠标的拖曳操作。窗口中有一个列表框,列表框中列出了当前目录的所有文件,鼠标选中一个或多个文件后拖曳出窗口,此操作的功能是将拖曳的文件复制一份在拖曳的目的目录下。import java.awt.*;import java.awt.datatransfer.*;import java.awt.dnd.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.swing.*;public cla
6、ss java3public static void main(Stringargs)JFrame frame=new DragSourceFrame();frame.setDefauhCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();class DragSourceFrame extends JFramepublic DragSourceFrame()setTitle(“java3“);setSize(WIDTH,HEIGHT);Container contentPane=getContentPane();File f=new File(“.
7、“).getabsoluteFile();Filefiles=f.listFiles();model=new DefauhListModel();for(int i=0;ifiles.length();i+)trymodel.addElement(filesi.getCanonicalFile();catch(IOException exception)JOptionPane.showMessageDialog(this,exception);fileList=new JList(model);contentPane.add(new JScrollPane(fileList),BorderLa
8、yout.CENTER);contentPane.add(new JLabel(“从列表中拖曳出文件“),BorderLayout.NORTH);DragSource dragSource=DragSource.getDefaultDragSource();dragSource.createDefaultDragGestureRecognizer(ileList,DnDConstants.ACTION_COPY_OR_MOVE,newDragGestureListener()public void dragGestureRecognized(DragGestureEvent event)dra
9、ggedValues=fileList.getSelectedValues();Transferable transferable=new FileListTransferable(draggedValues);event,startDrag(null,transferable,new FileListDragSourceListener(););private class FileListDragSourceListener implements DragSourceAdapterpublic void dragDropEnd(DragSourceDropEvent event)if(eve
10、nt.getDropSuccess()int action=event.getDropAction();if(action=DnDConstants.ACTION_MOVE)for(int i=0;idraggedValues.length i+)model.removeElement(draggedValuesi);private JList fileList;private DefaultListModel model;private ObjectdraggedValues;private static final int WIDTH=300;private static final in
11、t HEIGHT=200;class FileListTransferable implements Transferablepublic FileListTransferable(Objectfiles)fileList=new ArrayList(Arrays.asList(files);public DataFlavorgetTransferDataFlavors()return flavors;public boolean isDataFlavorSupported(DataFlavor flavor)return Arrays.asList(flavors).contains(fla
12、vor);public Object getTransferData(DataFlavor flavor)throws UnsupportedFlavorExceptionif(flavor.equals(DataFlavor.javaFileListFlavor)return fileList;else if(flavor.equals(DataFlavor.stringFlavor)return fileList.toString();elsethrow new UnsupportedFlavorException(flavor);private static DataFlavorflav
13、ors=DataFlavor.javaFileListFlavor,DataFlavor.stringFlavor;private java.util.List fileList;(分数:30.00)_二级 JAVA 机试-83 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.本题定义了一个方法 add(),用于求两个整形数的和。方法中有两个整形参数 a 和 b,方法体中计算 a和 b 的和 sum,并将结果返回。程序中调用 add()方法求整数 24 和 34 的和,并将结果打印输出。public class java1public st
14、atic void main(Stringargs)int a=24,b=34;System.out.println(add(a,b);public static int add(_)_;sum=a+b;_;(分数:30.00)_正确答案:(第 1 处:int a,int b第 2 处:int sum第 3 处:return sum)解析:解析 第 1 处是 add 方法的两个整型的形参;第 2 处是声明一个整型的变量 sum;第 3 处是求得sum 值后,返回 sum。二、简单应用题(总题数:1,分数:40.00)2.本题中,主窗口有一个按钮“显示 Dialog”,单击该按钮后显示一个对话框
15、,对话框的标题是“Dialog”,其上有一个文字标签“欢迎学习 Java.”,此时仍允许对原来窗口进行操作,当关闭新生成的对话框时退出程序。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class java2 extends Frame implements ActionListenerpublic static void main(String args)java2 f=new java2(“java2“);Panel pan=new Panel();f.init();public java2(St
16、ring str)super(str);public void init()addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););setSize(200,200);setLayout(new FlowLayout();but=new Button(“显示 Dialog“);add(but);but.addActionListener(this);dlg=new Dialog(this,“Dialog“,_);dlg.setSize(100,50);dlg.add
17、WindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)_;);dlg.add(“Center“,new Label(“欢迎学习 Java.“);setVisible(true);public void actionPerformed(ActionEvent e)dlg.setVisible(true);private Dialog dlg;private Button but;(分数:40.00)_正确答案:(第 1 处:flash第 2 处:system.exit(0)解析:解析 第 1 处是作为
18、Dialog 对话框的参数,第 2 处表示系统关闭退出整个应用程序,参数 0 表示正常关闭。三、综合应用题(总题数:1,分数:30.00)3.本题的功能是监听鼠标的拖曳操作。窗口中有一个列表框,列表框中列出了当前目录的所有文件,鼠标选中一个或多个文件后拖曳出窗口,此操作的功能是将拖曳的文件复制一份在拖曳的目的目录下。import java.awt.*;import java.awt.datatransfer.*;import java.awt.dnd.*;import java.awt.event.*;import java.io.*;import java.util.*;import jav
19、ax.swing.*;public class java3public static void main(Stringargs)JFrame frame=new DragSourceFrame();frame.setDefauhCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();class DragSourceFrame extends JFramepublic DragSourceFrame()setTitle(“java3“);setSize(WIDTH,HEIGHT);Container contentPane=getContentPane
20、();File f=new File(“.“).getabsoluteFile();Filefiles=f.listFiles();model=new DefauhListModel();for(int i=0;ifiles.length();i+)trymodel.addElement(filesi.getCanonicalFile();catch(IOException exception)JOptionPane.showMessageDialog(this,exception);fileList=new JList(model);contentPane.add(new JScrollPa
21、ne(fileList),BorderLayout.CENTER);contentPane.add(new JLabel(“从列表中拖曳出文件“),BorderLayout.NORTH);DragSource dragSource=DragSource.getDefaultDragSource();dragSource.createDefaultDragGestureRecognizer(ileList,DnDConstants.ACTION_COPY_OR_MOVE,newDragGestureListener()public void dragGestureRecognized(DragG
22、estureEvent event)draggedValues=fileList.getSelectedValues();Transferable transferable=new FileListTransferable(draggedValues);event,startDrag(null,transferable,new FileListDragSourceListener(););private class FileListDragSourceListener implements DragSourceAdapterpublic void dragDropEnd(DragSourceD
23、ropEvent event)if(event.getDropSuccess()int action=event.getDropAction();if(action=DnDConstants.ACTION_MOVE)for(int i=0;idraggedValues.length i+)model.removeElement(draggedValuesi);private JList fileList;private DefaultListModel model;private ObjectdraggedValues;private static final int WIDTH=300;pr
24、ivate static final int HEIGHT=200;class FileListTransferable implements Transferablepublic FileListTransferable(Objectfiles)fileList=new ArrayList(Arrays.asList(files);public DataFlavorgetTransferDataFlavors()return flavors;public boolean isDataFlavorSupported(DataFlavor flavor)return Arrays.asList(
25、flavors).contains(flavor);public Object getTransferData(DataFlavor flavor)throws UnsupportedFlavorExceptionif(flavor.equals(DataFlavor.javaFileListFlavor)return fileList;else if(flavor.equals(DataFlavor.stringFlavor)return fileList.toString();elsethrow new UnsupportedFlavorException(flavor);private
26、static DataFlavorflavors=DataFlavor.javaFileListFlavor,DataFlavor.stringFlavor;private java.util.List fileList;(分数:30.00)_正确答案:(第 1 处:File f=new File(“.“).getAbsoluteFile()第 2 处:int i=0;ifiles.length;i+第 3 处:private class FileListDragSourceListener extends DragSourceAdapter)解析:解析 第 1 处是通过绝对路径创建一个 File 对象 f;第 2 处是 files 中是 f 文件所在目录下的所有文件名列表,此处就是遍历这些文件名;第 3 处是定义了一个 FileListDragsourceListener 类继承用于接收拖动源事件的抽象适配器类 DragSourceAdapter。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1