1、二级 JAVA 机试-2 及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)请完善程序(程序文件名:Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求完成程序并运行,得到的结果如下图所示。(分数:30.00)(1).(分数:15.00)填空项 1:_填空项 1:_二、B2简单应用题/B(总题数:1,分数:40.00)请完善程序(程序文件名:Java_2.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求在 J
2、Frame 窗口中,显示一个字符串并保证窗口正常关闭和退出,使程序运行结果如下图所示。(分数:40.00)(1).(分数:10.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_三、B3综合应用题/B(总题数:1,分数:30.00)请完善程序(程序文件名:Java_3.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:编写程序完成类 Java_3 的完整功能,该类定义了几何点对象的操作。该程序的运行结果如下:x=5 y=5Location is(5,5)x=8 y=9Location is(8,9)源程序:public c
3、lass Java_3 int x,y; /点的坐标public Java_3() public Java_3(int x,int y) U (1) /U /构造方法,对(x,y)进行初始赋值public Java_3(Java_3 P) U (2) /U /构造方法,将 P 的坐标赋值给(x,y)/以对象的形式返回当前点的位置public Java_3 getLocation() Java_3 p=U (3) /U; /实例化一个 Java_3 对象 p,其坐标是(x,y)U (4) /U; /返回对象 ppublic int getX() return x; /返回点的横坐标public
4、int getY() return y; /返回点的纵坐标public void move(int x,int y) this.x=x;this.y=y; /把当前点移到新的位置(x,y)上public String toString() return“(“+x+“,“+y+“)“; /以(x,y)的格式返回点的位置public void translate(int x,int y)this.x+=x;this.y+=y; /在原有坐标上分别增加 x 和 ypublic static void main(String args) Java_3 P=U (5) /U; /生成一个对象(5,5)S
5、ystem.out.println(“x=“+p.x+“y=“+p.y);System.out.println(“Location is“+p.toString(); /12(x,y)的方式打印坐标的位置U (6) /U; /在原有位置上增加(3,4)System.out.println(“x=“+p.x+“y=“+p.y); /打印横坐标和纵坐标的值System.out.println(“Location is“+p.toString(); /以(x,y)的方式打印坐标的位置(分数:30.00)(1).(分数:5.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填
6、空项 1:_二级 JAVA 机试-2 答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)请完善程序(程序文件名:Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求完成程序并运行,得到的结果如下图所示。(分数:30.00)(1).(分数:15.00)填空项 1:_ (正确答案:“Hello“)解析:解析 根据题目输出结果可以看出,实例化后未给重新赋值时,变量 s 的内容是字符串“Hello“,所以对变量 S 的初始化值即“Hello“。填空项 1:_ (正确答案:Jav
7、a_1())解析:解析 程序中定义 d 为 Java_1 类的对象,所以对类实例化,即通过默认的构造方法创建对象。 程序解析 本程序通过类实例化获取类对象,改变对象的变量,将其通过对话框输出。二、B2简单应用题/B(总题数:1,分数:40.00)请完善程序(程序文件名:Java_2.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求在 JFrame 窗口中,显示一个字符串并保证窗口正常关闭和退出,使程序运行结果如下图所示。(分数:40.00)(1).(分数:10.00)填空项 1:_ (正确答案:EXIT_ON_CLOSE)解析:解析
8、JFrame 类的方法 public void setDefaultCloseOperation(int operation)设置用户在此窗体上发起“close”时默认执行的操作。必须指定以下选项之一: ?DO_NOTHING_ON_CLOSE(在WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的windowClosing 方法中处理该操作。 ?HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的WindowListener 对象后自动隐藏该窗体。 ?DISPOSE_ON_CLOSE(在 Wi
9、ndowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。 ?EXIT_ON_CLOSE(在 JFrame 中定义):使用System exit 方法退出应用程序。仅在应用程序中使用。填空项 1:_ (正确答案:JFrame)解析:解析 由程序以及题目要求可以看出,程序是要创建一个 JFrame 类的对象,所以 WelcomFrame 应该是 JFrame 类的子类。填空项 1:_ (正确答案:setSize)解析:解析 通过参数可以看出是 JFrame 对象的大小,所以应该使用方法 setSize。填空项 1:_ (正确答案:JPane
10、l)解析:解析 由程序以及题目要求可以看出,程序是要创建一个 JPanel 类的对象,所以 WelcomPanel 应该是 JPanel 类的子类。 程序解析 本程序考查 JFrame 和 JPanel 的使用。对 JFrame 设置标题、大小,显示一个字符串并正常关闭。三、B3综合应用题/B(总题数:1,分数:30.00)请完善程序(程序文件名:Java_3.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:编写程序完成类 Java_3 的完整功能,该类定义了几何点对象的操作。该程序的运行结果如下:x=5 y=5Location i
11、s(5,5)x=8 y=9Location is(8,9)源程序:public class Java_3 int x,y; /点的坐标public Java_3() public Java_3(int x,int y) U (1) /U /构造方法,对(x,y)进行初始赋值public Java_3(Java_3 P) U (2) /U /构造方法,将 P 的坐标赋值给(x,y)/以对象的形式返回当前点的位置public Java_3 getLocation() Java_3 p=U (3) /U; /实例化一个 Java_3 对象 p,其坐标是(x,y)U (4) /U; /返回对象 ppu
12、blic int getX() return x; /返回点的横坐标public int getY() return y; /返回点的纵坐标public void move(int x,int y) this.x=x;this.y=y; /把当前点移到新的位置(x,y)上public String toString() return“(“+x+“,“+y+“)“; /以(x,y)的格式返回点的位置public void translate(int x,int y)this.x+=x;this.y+=y; /在原有坐标上分别增加 x 和 ypublic static void main(Stri
13、ng args) Java_3 P=U (5) /U; /生成一个对象(5,5)System.out.println(“x=“+p.x+“y=“+p.y);System.out.println(“Location is“+p.toString(); /12(x,y)的方式打印坐标的位置U (6) /U; /在原有位置上增加(3,4)System.out.println(“x=“+p.x+“y=“+p.y); /打印横坐标和纵坐标的值System.out.println(“Location is“+p.toString(); /以(x,y)的方式打印坐标的位置(分数:30.00)(1).(分数:
14、5.00)填空项 1:_ (正确答案:this.x=x;this.y=y;)解析:解析 定义构造方法,由于给了两个参数,所以需要通过参数给类的变量赋值,因此通过 this 关键字表明是对当前类的变量赋值。填空项 1:_ (正确答案:this.x=p.x;this.y=p.y;)解析:解析 定义构造方法,由于参数给了 Java_3 类的对象 p,所以通过这个参数给变量赋值。填空项 1:_ (正确答案:new Java_3(x,y);)解析:解析 注释说明是通过坐标(x,y)进行实例化,所以构造方法需要有两个参数 x 和 y。填空项 1:_ (正确答案:return p)解析:解析 根据注释以及程序中创建的对象 p,需要将 p 返回,因此是 return 语句。填空项 1:_ (正确答案:new Java_3(5,5))解析:解析 注释中给出了对象的坐标(5,5)因此需要通过两个参数 x 和 y 调用构造方法 Java_3(int x,int y)进行实例化。填空项 1:_ (正确答案:p.translate(3,4))解析:解析 注释中说明在原有位置增加(3,4),因此需要对对象调用方法 translate()。可以通过方法的定义看出是在原有位置增加一定值。 程序解析 本程序主要考查类的对象的创建、构造方法的重载和类的方法使用。