1、计算机二级 JAVA-152及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.本题程序的功能是随机产生 50个 0100 间的随机数,并计算 7080 间随机数的个数(包括 70,不包括 80)。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 public class basic public static void main(String args) int result = 0; int i = 0; int randomNum; while (i50) randomNum =_; if(_) result +;
2、_; System.out.println(“result =“ + result); (分数:30.00)_二、2简单应用题(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为%USER%。 在考生文件夹下存有文件名为 Java_2.java的文件,本题功能是完成点定义,并输出点坐标。请完善Java_2.java文件,并进行调试,使程序结果如下: x=5 y=5 点的坐标是(5,5) x=8 y=9 点的坐标是(8,9) 由于 Java_2.java文件不完整,请在注释行“/*Found*”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容
3、。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。 给定源程序: public class Java_2 public int x,y; public Java_2() public Java_2 (int x,int y) this.x=x; this.y=y; /*Found* public Java_2(_p) x=p.x;y=p.y; public Java_2 getLocation() Java_2 p=new Java_2 (x,y); return p; public int getX() return X; public int getY() return y;
4、 public void move (int x,int y) this.x=x; this.y=y; public void setLocation (Java_2 p) x=p.x; y=p.y; public String toString() return(“(“+Integer.toString (x)+“,“+Integer.toString(y)+“)“); public void translate (int x,int y) this.x+=x; this.y+=y; public static void main (String args) /*Found* Java_2
5、p=new_(5,5)j System.out .printIn(“x=“+p.x+“ y=“+p.y); /*Found* System.out.printIn(“点的坐标是“+_(); p.translate (3,4); System.out.printIn(“x= “+p.x+“ y=“+p.y); /*Found* System.out.printIn(“点的坐标是“+_(); (分数:40.00)_三、3综合应用题(总题数:1,分数:30.00)3.本题程序的功能是通过菜单打开一个图像文件。窗口中有一个菜单“File”,其中包括菜单项“Open”和“Exit”。单击菜单项“Open
6、”可弹出一个打开对话框,选中一个图像文件后单击“打开”按钮返回主窗口,则选中的图像文件显示在窗口中。单击菜单项“Exit”可退出程序。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class advance public static void main(String args) JFrame frame = new ImageViewerFrame(); frame.setDefaultCl
7、oseOperation(JFrame.EXIT_ON_CLOSE); frame.show (); class ImageViewerFrame extends JFrame public ImageViewerFrame() setTitle(“advance“); setSize(DEFAULT WIDTH,DEFAULT_HEIGHT); label = new JLabel(); Container contentPane = getContentPane(); contentPane.add(label); _; chooser.setCurrentDireetory(new Fi
8、le(“.“); JMenuBar menuBar = new JMenuBar(); _; JMenu menu = new JMenu(“File“); menuBar,add (menu); JMenuItem openItem = new JMenuItem(“Open“); menu.add(openItem); openItem.addActionListener(new ActionListener() _ int r = chooser .showOpenDialog(null); if(r = JFileChooser.APPROVE_OPTION) String name
9、= chooser.getSelectedFile().getPath(); label.setIeon(new ImageIcon(name); ); JMenuItem exitItem = new JMenuItem(“Exit“); menu.add(exitItem); exitItem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) System.exit(0); ); private JLabel label; private JFileChooser ch
10、ooser; private static final int DEFAULT_WIDTH=300; private static final int DEFAULT_HEIGHT=400; (分数:30.00)_计算机二级 JAVA-152答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.本题程序的功能是随机产生 50个 0100 间的随机数,并计算 7080 间随机数的个数(包括 70,不包括 80)。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 public class basic public static v
11、oid main(String args) int result = 0; int i = 0; int randomNum; while (i50) randomNum =_; if(_) result +; _; System.out.println(“result =“ + result); (分数:30.00)_正确答案:()解析:(int)(Math.random()*100)。 randomNum=70randomNum80。 i+。二、2简单应用题(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为%USER%。 在考生文件夹下存有文件名为 Java_2.jav
12、a的文件,本题功能是完成点定义,并输出点坐标。请完善Java_2.java文件,并进行调试,使程序结果如下: x=5 y=5 点的坐标是(5,5) x=8 y=9 点的坐标是(8,9) 由于 Java_2.java文件不完整,请在注释行“/*Found*”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。 给定源程序: public class Java_2 public int x,y; public Java_2() public Java_2 (int x,int y) this.x=x;
13、this.y=y; /*Found* public Java_2(_p) x=p.x;y=p.y; public Java_2 getLocation() Java_2 p=new Java_2 (x,y); return p; public int getX() return X; public int getY() return y; public void move (int x,int y) this.x=x; this.y=y; public void setLocation (Java_2 p) x=p.x; y=p.y; public String toString() retu
14、rn(“(“+Integer.toString (x)+“,“+Integer.toString(y)+“)“); public void translate (int x,int y) this.x+=x; this.y+=y; public static void main (String args) /*Found* Java_2 p=new_(5,5)j System.out .printIn(“x=“+p.x+“ y=“+p.y); /*Found* System.out.printIn(“点的坐标是“+_(); p.translate (3,4); System.out.print
15、In(“x= “+p.x+“ y=“+p.y); /*Found* System.out.printIn(“点的坐标是“+_(); (分数:40.00)_正确答案:()解析:Java_2 Java_2 p.toString p.toString解析 本程序重载了 Java_2的构造方法,第二个构造方法的参数应该也是一个 Java_2的对象,所以第一处应填入 Java_2,第二处创建了一个 Java_2的实例,所以也应填入 Java_2。第三、四处输出了点 p的坐标,必须调用 toString方法,所以两处都填入p.toString。三、3综合应用题(总题数:1,分数:30.00)3.本题程序的
16、功能是通过菜单打开一个图像文件。窗口中有一个菜单“File”,其中包括菜单项“Open”和“Exit”。单击菜单项“Open”可弹出一个打开对话框,选中一个图像文件后单击“打开”按钮返回主窗口,则选中的图像文件显示在窗口中。单击菜单项“Exit”可退出程序。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class advance public static void main(String a
17、rgs) JFrame frame = new ImageViewerFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show (); class ImageViewerFrame extends JFrame public ImageViewerFrame() setTitle(“advance“); setSize(DEFAULT WIDTH,DEFAULT_HEIGHT); label = new JLabel(); Container contentPane = getContentPane();
18、 contentPane.add(label); _; chooser.setCurrentDireetory(new File(“.“); JMenuBar menuBar = new JMenuBar(); _; JMenu menu = new JMenu(“File“); menuBar,add (menu); JMenuItem openItem = new JMenuItem(“Open“); menu.add(openItem); openItem.addActionListener(new ActionListener() _ int r = chooser .showOpen
19、Dialog(null); if(r = JFileChooser.APPROVE_OPTION) String name = chooser.getSelectedFile().getPath(); label.setIeon(new ImageIcon(name); ); JMenuItem exitItem = new JMenuItem(“Exit“); menu.add(exitItem); exitItem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) System.exit(0); ); private JLabel label; private JFileChooser chooser; private static final int DEFAULT_WIDTH=300; private static final int DEFAULT_HEIGHT=400; (分数:30.00)_正确答案:()解析:chooser=new JFileChooser()。 setJMenuBar(menuBar)。 public void actionPerforme d(ActionEvent evt)。